手机
当前位置:查字典教程网 >编程开发 >安卓软件开发 >Android中查看USB连接的外接设备信息的代码实例
Android中查看USB连接的外接设备信息的代码实例
摘要:1,USB存储设备(如:U盘,移动硬盘)://USB存储设备插拔监听与SD卡插拔监听一致。复制代码代码如下:privateUSBBroadC...

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 Product=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 Product=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连接的外接设备信息的代码实例】相关文章:

Android中的文件I/O操作

Android 混淆代码详解及实例

Android中查看服务是否开启的工具类

Android重启运用程序的代码

Android中的Button自定义点击效果实例代码

控制Android LED灯颜色的代码实例

Android 情景模式的设置代码

分享Android开发中最有效率最快的循环代码

Android自定义图片质量的控件截图类代码

Android通话记录备份实现代码

精品推荐
分类导航