首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android 获取 usb 权限的两种方法

前言: 最近工作上遇到几个USB模块在android平台上适配使用的情况,所以要用到USB权限获取问题 ##USB权限获取有以下2种方式: 一、直接在AndroidManifest.xml文件中进行如下配置...二、动态代码获取 2.1 代码中获取(前提是已经定位到要申请USB权限的usbdevice) //获取USB设备ACTION private static final String ACTION_USB_PERMISSION...= "com.android.usb.USB_PERMISSION"; // 获取USB设备列表及定位到要申请权限的USB设备 // mUsbManager = (UsbManager) mContext.getSystemService...); filter.addAction(UsbManager.ACTION_USB_DEVICE_ATTACHED); filter.addAction(UsbManager.ACTION_USB_DEVICE_DETACHED...Android 获取 usb 权限的两种方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。

6.1K21
您找到你想要的搜索结果了吗?
是的
没有找到

Android设备与外接U盘实现数据读取操作的示例

现在越来越多手机支持OTG功能,通过OTG可以实现与外接入的U盘等USB设备实现数据传输。 USB OTG(On The Go)作为USB2.0的补充协议,于2001年由USB-IF提出。...); usbDeviceStateFilter.addAction(UsbManager.ACTION_USB_DEVICE_DETACHED); registerReceiver(mOtgReceiver...U盘权限"); } break; case UsbManager.ACTION_USB_DEVICE_ATTACHED://接收到U盘设备插入广播 UsbDevice device_add = intent.getParcelableExtra...= null) { //接收到U盘插入广播,尝试读取U盘设备数据 redUDiskDevsList(); } break; case UsbManager.ACTION_USB_DEVICE_DETACHED...usbManager = (UsbManager) getSystemService(Context.USB_SERVICE); //获取U盘存储设备 storageDevices = UsbMassStorageDevice.getMassStorageDevices

5.2K10

Android Audio支持Usb 音频设备

背景 最近遇到一些场景,Android 需要支持通话音量下从一些usb外设采集音频数据。对于Android,通话音量下,需要主动连接设备,否则会默认从手机麦克风采集。...接下来就得hook下了,通过frida hook,发现了出现UsbManager的调用,通过UsbManager是可以获取到当前连接的Usb设备,并且通过UsbInterface就可以知道是否是音频设备...接下来就需要知道如何被动感知到Usb 设备连接了,看到有这样的2个广播: UsbManager.ACTION_USB_DEVICE_ATTACHED UsbManager.ACTION_USB_DEVICE_DETACHED...利用注册这个广播就可以感知到usb设备变化了。...观察了下这种Usb设备的模式,一个Usb 接口插到手机上,另外一个蓝牙发送器和Usb 接口蓝牙连接,这样手机就不需要知道这个Usb设备是否是蓝牙设备了,本质上和普通的有线耳机应该是一样的。

1.7K20

Android OTG之USB转串口模块通讯

Android OTG之USB转串口模块通讯 微信公众号:CodingAndroid CSDN:http://blog.csdn.net/xinpengfei521 1.背景简介 我们公司开发了一款室内机平板...appContext, UsbManager usbManager) { driver = new CH34xUARTDriver(usbManager, appContext, ACTION_USB_PERMISSION...设备模块的product-id和vendor-id,每个模块厂家这个值都是不一样的,有两种获取方式,一个是代码中枚举USB设备然后打印出来,另外一种方法是打开Logcat观察,然后插入USB设备,你会发现系统会打印出来这个...最后不要忘了添加权限: <uses-feature android:name="android.hardware.usb.host" android:required...="true" /> 此处由于篇幅原因就不具体展开讲解更多细节了,核心的代码和实现我都已经贴出来了

3.1K10

咦,Oreo怎么收不到广播了?

忙的我连SystemUI系列的文章推进向蜗牛一样慢~ 这篇文章偷个闲,记录下Android8.0上的广播限制。 最近在基于Android 8.1的系统项目中有用到静态注册广播去监听广播。...通过指定Intent组件名称来实现的,它一般用在知道目标组件名称的前提下,去调用以下方法。意图明确,指定了要激活的组件是哪个组件,一般是在相同的应用程序内部实现的。...Intent.setClass() new Intent(A.this,B.class) 隐式广播(Implicit Broadcast):通过Intent Filter来实现的,它一般用在没有明确指出目标组件名称的前提下.../** Usb相关 UsbManager.ACTION_USB_ACCESSORY_ATTACHED UsbManager.ACTION_USB_ACCESSORY_DETACHED UsbManager.ACTION_USB_DEVICE_ATTACHED...UsbManager.ACTION_USB_DEVICE_DETACHED */ "保留原因:如果应用需要了解这些 USB 相关事件的信息,目前尚未找到能够替代注册广播的可行方案" /** 蓝牙状态相关

1.8K40

Android 8.0 简单适配那些事儿

和尚的项目中推送相对简单,官网提供了很多丰富的样式和细节,需要的请官网查阅; Apk 下载安装 自从 Android N 开始,Android 便加大了对文件管理的限制;Android 7.0...="true":允许获取文件的临时访问权限; android:resource="@xml/file_path":设置 FileProvider 访问的文件路径,可自由定义; file_path.xml...Intent.ACTION_USER_INITIALIZE // 时区广播 Intent.ACTION_TIMEZONE_CHANGED // 语言区域 Intent.ACTION_LOCALE_CHANGED // USB...UsbManager.ACTION_USB_ACCESSORY_ATTACHED UsbManager.ACTION_USB_ACCESSORY_DETACHED UsbManager.ACTION_USB_DEVICE_ATTACHED...UsbManager.ACTION_USB_DEVICE_DETACHED // 蓝牙 BluetoothHeadset.ACTION_CONNECTION_STATE_CHANGED BluetoothA2dp.ACTION_CONNECTION_STATE_CHANGED

1.2K21

带你遨游USB世界

塔顶为USB主控制器和根集线器(Root Hub),下面接USB集线器(Hub),集线器将一个USB口扩展为多个USB口,USB2.0规定集线器的层数最多为6层,理论上一个USB主控制器最多可接127个设备...数据传输方向均以主机为参考 比如启动USB传输的令牌包名称 IN令牌包 用来通知设备返回一个数据包 数据包的传输方向:主机←从机( IN ) OUT令牌包 用来通知设备将要输出一个数据包 数据包的传输方向...Service等一系列Service启动UsbManager启动UsbDeviceManager启动。...3)init.qcom.usb.rc usb属性配置文件 ? 4)android.c 接收属性节点的值;向framework发送usb状态改变的uevent ?...4.4 MTP传输启动流程代码分析 在"PC和Android设备建立MTP连接"后,UsbManager向MtpReceiver发送广播,接着MtpReceiver会启动MtpService,MtpService

2.5K21

如何使用AndroidQF快速从Android设备中获取安全取证信息

关于AndroidQF AndroidQF,全称为Android快速取证(Android Quick Forensics)工具,这是一款便携式工具,可以帮助广大研究人员快速从目标Android设备中获取相关的信息安全取证数据...AndroidQF旨在给广大研究人员提供一个简单且可移植的跨平台实用程序,以快速从Android设备获取信息安全取证数据。...工具使用 在启动AndroidQF之前, 我们需要将目标Android设备通过USB线连接到我们的主机上,别忘了开启USB调试功能。 启动USB调试之后,我们就可以继续启动AndroidQF了。...该工具首先会尝试通过USB桥接到目标设备,此时Android设备将会提示我们手动输入设备主机的密钥。确保授权成功之后,这里最好是永久授权,而不是只授权一次,这样就不会老是弹窗了。...理想情况下,我们应该对驱动器进行完全加密。除此之外,我们还可以考虑让AndroidQF在一个VeraCrypt容器中运行。

6.9K30

使用 dd 命令从 ISO 镜像创建临场 USB

理解 dd 命令 Explanation of the dd command for live USB creation 首先,你输入 dd。没错,这就是你要运行的程序的名称。...这会导致 dd 任务在整个 ISO 文件写入 USB 驱动器之前不会报告成功写入。...第 1 步: 获取 USB 盘符 插入你的 USB 驱动器。 我为 of 参数输入的具体路径是 /dev/sdb。USB 磁盘通常会标记为 /dev/sdb,但这不是硬性规定。...如果你更熟悉 GUI 程序,还可以使用 GNOME Disks 等工具找到驱动器的路径。 现在你已经确认了外部驱动器的路径,让我们开始创建临场 USB。...第 2 步:将 ISO 文件写入 USB 磁盘 在下载 ISO 文件的目录打开一个终端,然后运行以下命令(如果 /dev/sdb 与你的存储设备名称不同,请记住将其替换): sudo dd if=".

2.4K40

使用 dd 命令创建一个临场 USB 驱动器

我将带你认识需要的命令,从终端找到我们的 USB 驱动器,然后对 ISO 文件进行实际刷写。...理解 dd 命令 Explanation of the dd command for live USB creation 首先,你输入 dd。没错,这就是你要运行的程序的名称。...这会导致 dd 任务在整个 ISO 文件写入 USB 驱动器之前不会报告成功写入。...第 1 步: 获取 USB 盘符 插入你的 USB 驱动器。 我为 of 参数输入的具体路径是 /dev/sdb。USB 磁盘通常会标记为 /dev/sdb,但这不是硬性规定。...第 2 步:将 ISO 文件写入 USB 磁盘 在下载 ISO 文件的目录打开一个终端,然后运行以下命令(如果 /dev/sdb 与你的存储设备名称不同,请记住将其替换): sudo dd if=".

1.1K30

MTP模式与USB存储模式(MTP in Android)「建议收藏」

有了Object Handle,PC就可以操作这些文件或目录了,例如继续通过GetObjectHandles获取某个目录中子文件和子目录的信息。...2.1 Android中MTP的代码架构 要使用MTP功能,首先需要在设置中启用USB连接模式为MTP,如图1-4所示: 图1-4 Settings中的MTP设置 图1-4所示为参考机(Android...该操作实际上会触发USB驱动做相应变动。本文不拟讨论其中的过程,读者可参考手机中init.platform-name.usb.rc文件以查看Android系统中USB的模式设置。...其主要结构如图1-5所示: 图1-5 Android MTP架构图 由图1-5可知,Android MTP架构由下到上分别是: C++层包括几个主要对象,如MtpRequestPacke负责从USB驱动读取数据...接着它需要从UsbManager中查询USB的链接状态,MTP的设置信息和PTP的设置信息。

10.1K21
领券