android检测usb设备
Ⅰ 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
}
}
}