OTG 开发获取挂载SD卡路径总结

1:实现SD卡挂载监听

 

 private class UsbReceiver extends BroadcastReceiver

    {

        @Override

        public void onReceive(Context context, Intent intent)

        {

            String action = intent.getAction();

            if (action.endsWith("MEDIA_MOUNTED"))//OTG 已挂载成功

            {

                //androidOTG加载的SD卡或U盘目录为 //mnt/udisk  或者storage/udisk 

//可以在system/etc/vold.fstab文件中找到挂载的盘符

 

                

            }

            else if (action.endsWith("MEDIA_EJECT"))//OTG 已移除

            {

                

            }

        }

};

 

2:在Oncreate 中注册广播

 

UsbReceiver usbRe = new UsbReceiver();

IntentFilter filter = new IntentFilter(Intent.ACTION_MEDIA_MOUNTED);

        filter.addAction(Intent.ACTION_MEDIA_CHECKING);

        filter.addAction(Intent.ACTION_MEDIA_EJECT);

        filter.addAction(Intent.ACTION_MEDIA_REMOVED);

        filter.addAction(Intent.ACTION_MEDIA_SHARED);

        filter.addAction(Intent.ACTION_MEDIA_UNMOUNTED);

        filter.addDataScheme("file");

        registerReceiver(usbRe, filter);

 

3:AndroidManifest.xml

 

添加 <uses-feature

        android:name="android.hardware.usb.host"

        android:required="true" />

 

 

· android:required="true":表示需要设备具有某个功能。

如果设备没有该功能,则程序不工作,就是可以理解的

· android:required="false":表示希望设备,最好具有某个功能

设备即使没有该功能,程序也应该可以正常工作

为了程序工作的更好,最好具有该功能。

 


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值