Android检测kitkat的USB存储(4.4)
作者:互联网
我创建了一个webview应用程序,它在assets-directory中的应用程序中托管一个网站.
我想通过插入我的平板电脑usbslot的USBstick更新网站.
我首先尝试使用.MEDIA_MOUNTED广播,这对我的android 4.4无效.片剂.
我搜索了另一种选择并找到了“MediaScannerConnection”.
这里有几个例子对解决我的问题没什么帮助.
我正在寻找一个简单而干净的解决方案,一点点解释也很好,以检测是否连接了USB存储器以及之后执行某些代码的机会.
如何让这个USB检查一直运行是一个问题.我假设我必须把它放在OnResume方法中,但我不太舒服.
解决方法:
请为您的BroadcastReceiver和AndroidManifest.xml发布代码.
清单应该看起来像
<application>
<!--- ... --->
<receiver android:name=".UsbBroadcastReceiver"
android:exported="true"
android:enabled="true" >
<intent-filter>
<action android:name="android.intent.action.MEDIA_MOUNTED" />
<action android:name="android.intent.action.MEDIA_UNMOUNTED" />
<data android:scheme="file" />
</intent-filter>
</receiver>
</application>
注意数据标签,它经常被忽视.
在onReceive实现中,可以从Intent#getData()获取mount到root的URI.
另请注意,这不适用于Android 6.0(M)及更高版本.对于6.0及更高版本,您的代码必须通过以下两种方式之一请求访问USB:
1)UsbManager#requestPermission
2)Intent#ACTION_OPEN_DOCUMENT_TREE作为Storage Access Framework的一部分
标签:android,android-4-4-kitkat 来源: https://codeday.me/bug/20190918/1811381.html