Android 机顶盒设备生产自检程序(USB设备测试)
来源:互联网 发布:打开php页时不关闭sha 编辑:程序博客网 时间:2024/04/27 23:16
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:一个设备安装多个包(生产包,测试包等)
- Android: 查找USB设备
- Android 设备USB识别
- android 与usb 设备通信(二)
- java程序访问USB设备
- android的usb作为从设备的程序流程
- android:与USB设备通信
- Android usb camera设备添加
- Android设备的USB通讯
- android读取usb设备数据
- android机顶盒开发之修改设备Model,Device name
- android usb host 读写USB设备
- android usb host 读写USB设备
- android usb host 读写USB设备
- android usb host 读写USB设备
- USB设备
- usb设备
- 实现一个数字电路的脚本解释器(三)——SymbolList的实现
- Cookie的赋值和删除
- 计算机视觉领域的一些牛人博客,研究机构等的网站链接 && 机器学习算法中文视频教程
- Dynamic Programming: From novice to advanced
- TI官方DM8168 / DM6446 EVM板电源电路
- Android 机顶盒设备生产自检程序(USB设备测试)
- 约瑟夫环问题研究(一)
- hdu 5078
- 如何PDF的转换PDF格式文件
- SpringMVC源码深度分析DispatcherServlet核心的控制器(初始化)
- 实现Java代码在内存中编译执行
- 文字编码进化史
- jdk1.8环境变量的配置
- tcp 三次握手和四次挥手