如何在android中获取路径安装的usb设备?

时间:2016-05-16 13:00:32

标签: java android broadcast host

我编写了一个程序,其中包含广播接收器以捕获 ACTION_MEDIA_MOUNTED ,但它并不适用于所有设备。例如:我的魅族m2音符有otg支持,设备可以打开闪存,但在我的应用程序中它不起作用(没有打开)。在我的代码中,我需要获取写入或读取文件的目录(大容量存储目录)路径。

我的广播: 公共类UsbReceiver扩展了BroadcastReceiver {

private static final String ACTION_USB_PERMISSION = "com.poudanen.usbchecker.USB_PERMISSION";

@Override
public void onReceive(final Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_MEDIA_MOUNTED)) {
        Toast.makeText(context, "Media device connected", Toast.LENGTH_SHORT).show();
        Uri uriFile = intent.getData();
        File dir = new File(uriFile.getPath());
        SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
        prefs.edit().putString("path", uriFile.getPath()).apply();
        Toast.makeText(context, "Media device connected", Toast.LENGTH_SHORT).show();
        if (dir.canRead()) {

        //other code
        }
    }}

0 个答案:

没有答案