我正在开发使用索尼互联网电视作为开发设备,它有4个USB端口.所有或没有端口可以与外部硬盘驱动器一起使用.如何选择和访问设备上的外部存储器与内部存储器.
我可以使用以下方法访问SD卡,或者至少可以访问SD卡的电视标签:
Environment.getExternalStorageDirectory();
Run Code Online (Sandbox Code Playgroud)
但我似乎无法弄清楚如何找到外部USB设备.我试图沿着UsbManager类的路径前进,但似乎应该有一种更简单,更通用的方式.我只是希望能够看到大容量存储设备,并且不想通过供应商ID等清理.但也许我在那里遗漏了一些东西.
这应该是可能的,因为我正在寻找Media Player应用程序在打开菜单并选择"选择设备"时找到的相同功能.
我只需要对驱动器的读访问权限,但读/写可能很有用.
提前致谢.
在Google TV v2中,有关USB存储支持的一些更改.USB驱动器的主要变化是:
1.USB驱动器将安装/mnt/media/usb.XXXXX而不是/ sdcard.(XXXXX由USB卷的ID(卷号:vfat或exfat,uuid:ntfs)决定.)
2.GTV支持多个USB驱动器.用户可以插入多个USB驱动器.
MediaProvider会索引所有插入的USB卷中的所有媒体文件.因此,应用程序可以查询MediaProvider以检索所有媒体文件.
示例代码:
Cursor cursor = getContentResolver().query(
Images.Media.EXTERNAL_CONTENT_URI,
new String [] {
Images.Media._ID,
Images.Media.DATA,// file path
},
null,null,null);
应用程序如何在驱动器同步或弹出时检测到?:
您可以注册BroadcastReceiver以接收Intent.ACTION_MEDIA_SCANNER_FINISHED和Intent.ACTION_MEDIA_EJECT.
| 归档时间: |
|
| 查看次数: |
11816 次 |
| 最近记录: |