大家都知道android4.4之后,google屏蔽了Intent.ACTION_MEDIA_MOUNTED,这个广播的放送。所以导致的问题是我们没法全盘扫描,最近百度了很多方案都只是给予MediaScannerConnection.scanFile(),这个解决方法,但是这个方法并不理想无法达到我们全盘扫描的目的。在找不到更好方案的前提下,我只能另辟蹊径了,作为一个android ROM开发者最大的优势是能改framework层及其他provider代码,所以以下解决方案是修改MediaProvider完成的。
直接上代码
AndroidManifest.xml
<receiver android:name="MediaScannerReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.MEDIA_MOUNTED" />
<data android:scheme="file" />
</intent-filter>