其他分享
首页 > 其他分享> > Android检测kitkat的USB存储(4.4)

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