当前位置:首页 » 安卓系统 » android检测usb设备

android检测usb设备

发布时间: 2023-02-11 08:44:44

Ⅰ android4.2.2 查找USB设备

4.2隐藏了~1、找到“设置”图标,进入~ 2、点击“关于手机” 3、拉到屏幕最下方,找到“版本号”,猛击5-7下(有时只要点击一下就行) 4、猛击过后,如果出现“您现在处于开发者模式”,说明您猛击成功;如果没有,请继续猛击,直至出现为止 5、再回到“设置”页面,您就可以找到“{}开发者选项”了!(大约是隐藏彩蛋神马的吧,咳咳……)

Ⅱ 如何检测,如果Android有完整的USB支持或不

1.如果只是手机的USB硬件是OTG,支持USB Host
但是手机中android系统是低于3.1版本,或者里面没有对应的USB驱动的
则都无法使用USB Host功能,都无法外接USB 键盘之类的USB设备。
2.本身手机的USB硬件就不是OTG的,就不支持USB Host
即使你手机中Android版本再高,比如是4.1,那也是白搭,也没法用USB Host的。
3.只有当你的手机本身的USB硬件是OTG的,且Android系统是3.1版本之上的,且系统的固件(ROM镜像)里面是有对应的驱动的,才能真正使用上USB Host。
4.Android中,USB方面,分两种模式:USB accessory== USB Device == Android手机作为一个Device设备;把手机连到电脑上,电脑就是Host,手机就是Device,手机就是类似于U盘,可以从主机电脑中操作U盘,拷贝U盘资料了.此种模式,可以说所有手机都支持,就像都可以当做一个U盘接到电脑上一样;USB host == Android手机作为一个Host主机.Android手机就是主控制器,可以外接/外挂,USB鼠标,USB键盘,U盘,USB摄像头,游戏手柄等被控制的设备.此种USB Host模式,需要软硬件都支持才能工作:硬件:确保手机本身的USB模块是OTG的,即USB的硬件是那种,既可以被配置为Device的,也可以被配置为Host的.与此相对应的是,有些USB的硬件模块,是固定的USB Device,或者是USB Host.比如普通的U盘中的USB模块,就是固定的USB Device.比如你把U盘接到电脑上的那个USB接口,就是主板上的USB Host的接口,可以挂载你的U盘.与此类似的是,有些数码相机,就是USB OTG的.即可以当做U盘接到电脑上,电脑上就可以把相机里面照片拷贝出来了.也可以当做USB 主机,连接USB的打印机,把照片传输到打印机上,打印出来.软件Android系统,必须是Android 3.1(API Level 12).本身手机常见给你预装的Android系统,本身是有对应的USB(OTG)的驱动.

Ⅲ 如何查看USB方式连接Android设备的外接设备信息

这里主要介绍了Android中查看USB连接的外接设备信息的代码实例,可以参考下

1,USB存储设备(如:U盘,移动硬盘):

//USB存储设备 插拔监听与 SD卡插拔监听一致。

代码如下:

private USBBroadCastReceiver
mBroadcastReceiver;

IntentFilter iFilter = new IntentFilter();

iFilter.addAction(Intent.ACTION_MEDIA_EJECT);

iFilter.addAction(Intent.ACTION_MEDIA_MOUNTED);

iFilter.addAction(Intent.ACTION_MEDIA_REMOVED);

iFilter.addAction(Intent.ACTION_MEDIA_UNMOUNTED);

iFilter.addDataScheme("file");
mBroadcastReceiver = new
USBBroadCastReceiver();
registerReceiver(mBroadcastReceiver,
iFilter);

private class USBBroadCastReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent)
{
String action = intent.getAction();

if
(action.equals(Intent.ACTION_MEDIA_EJECT)) {

//USB设备移除,更新UI
} else if
(action.equals(Intent.ACTION_MEDIA_MOUNTED)) {

//USB设备挂载,更新UI
}
}
}

//获得挂载的USB设备的存储空间使用情况

public static String getUSBStorage(Context context){
// USB Storage

//storage/udisk为USB设备在Android设备上的挂载路径.不同厂商的Android设备路径不同。

//这样写同样适合于SD卡挂载。
File path = new File("/storage/udisk");

StatFs stat = new StatFs(path.getPath());
long blockSize =
stat.getBlockSize();
long totalBlocks = stat.getBlockCount();

long availableBlocks = stat.getAvailableBlocks();
String usedSize =
Formatter.formatFileSize(context, (totalBlocks-availableBlocks) *
blockSize);
String availableSize = Formatter.formatFileSize(context,
availableBlocks * blockSize);
return usedSize + " / " +
availableSize;//空间:已使用/可用的
}

2,USB外接输入设备(如:键盘,鼠标,扫描枪)

复制代码
代码如下:

try {

//获得外接USB输入设备的信息
Process p=Runtime.getRuntime().exec("cat
/proc/bus/input/devices");
BufferedReader in = new BufferedReader(new
InputStreamReader(p.getInputStream()));
String line = null;

while((line = in.readLine())!= null){
String deviceInfo =
line.trim();

//对获取的每行的设备信息进行过滤,获得自己想要的。

}

} catch (Exception e) {
// TODO: handle
exception
e.printStackTrace();
}

另:设备信息也可以通过 adb
shell 进入执行 cat /proc/bus/input/devices看到。

USB外接输入设备信息打印如下:

复制代码
代码如下:

I: Bus=0003 Vendor=11c0 Proct=0030
Version=0110
N: Name="ACRUX USB Keyboard"
P:
Phys=usb-0000:00:04.0-1.3/input1
S:
Sysfs=/devices/pci0000:00/0000:00:04.0/usb1/1-1/1-1.3/1-1.3:1.1/input/input3
U:
Uniq=
H: Handlers=mouse1 event3
B: PROP=0
B: EV=17
B: KEY=70000 0 0
0 0 0 0 0 0
B: REL=103
B: MSC=10

I: Bus=0003 Vendor=11c0
Proct=0030 Version=0110 这行信息会在Android设备与USB设备数据交互的是否使用到。

关于USB外接设备如何与Android设备数据数据交互的代码书写可以参考:

http://developer.android.com/guide/topics/connectivity/usb/index.html

N: Name="ACRUX USB Keyboard" 这行说明了外接的USB设备的名称。

P: Phys=usb-0000:00:04.0-1.3/input1

S:
Sysfs=/devices/pci0000:00/0000:00:04.0/usb1/1-1/1-1.3/1-1.3:1.1/input/input3

这两行可用于识别该USB设备连接在Android设备的哪一个USB口.

Ⅳ android如何监听有没有插入usb线

代码如下:

private USBBroadCastReceiver
mBroadcastReceiver;

IntentFilter iFilter = new IntentFilter();

iFilter.addAction(Intent.ACTION_MEDIA_EJECT);

iFilter.addAction(Intent.ACTION_MEDIA_MOUNTED);

iFilter.addAction(Intent.ACTION_MEDIA_REMOVED);

iFilter.addAction(Intent.ACTION_MEDIA_UNMOUNTED);

iFilter.addDataScheme("file");
mBroadcastReceiver = new
USBBroadCastReceiver();
registerReceiver(mBroadcastReceiver,
iFilter);

private class USBBroadCastReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent)
{
String action = intent.getAction();

if
(action.equals(Intent.ACTION_MEDIA_EJECT)) {

//USB设备移除,更新UI
} else if
(action.equals(Intent.ACTION_MEDIA_MOUNTED)) {

//USB设备挂载,更新UI
}
}
}

热点内容
海澜之家广告脚本 发布:2025-05-17 13:56:06 浏览:29
手文件夹恢复 发布:2025-05-17 13:53:32 浏览:992
linux怎么看进程 发布:2025-05-17 13:53:30 浏览:302
thinkphp字段缓存 发布:2025-05-17 13:52:01 浏览:574
山灵app安卓版如何设置 发布:2025-05-17 13:51:49 浏览:387
帆布压缩袋 发布:2025-05-17 13:26:27 浏览:457
c语言16进制表示方法 发布:2025-05-17 13:11:25 浏览:480
ftp单位 发布:2025-05-17 13:10:03 浏览:142
c语言编写n的阶乘 发布:2025-05-17 13:10:02 浏览:685
lockjava 发布:2025-05-17 13:02:08 浏览:311