DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));...file file = new file(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC) + "/MyStuff/song.mp3");request.setDestinationUri(Uri.fromfile(file));
我注意到,当从运行Marshmallow的设备卸载该应用程序时,这些文件将被删除(这在旧的 *** 作系统版本上不会发生).
你有什么想法吗?@H_403_6@
谢谢@H_403_6@解决方法 这是通过名为 DownloadReceiver的内部类完成的,并在com.androID.provIDers.downloads package manifest中定义
<receiver androID:name=".DownloadReceiver" androID:exported="false"> <intent-filter> <action androID:name="androID.intent.action.BOOT_COMPLETED" /> <action androID:name="androID.net.conn.CONNECTIVITY_CHANGE" /> <action androID:name="androID.intent.action.UID_REMOVED" /> </intent-filter> <intent-filter> <action androID:name="androID.intent.action.MEDIA_MOUNTED" /> <data androID:scheme="file" /> </intent-filter></receiver>
这里的androID.intent.action.UID_REMOVED动作抓住眼睛.它在Lollipop中引入,触发对handleUIDRemoved()执行的调用@H_403_6@
resolver.delete(ALL_DOWNLOADS_CONTENT_URI,Constants.UID + "=" + uID,null);总结
以上是内存溢出为你收集整理的Android 6.0 – 外部存储文件在应用卸载时被删除全部内容,希望文章能够帮你解决Android 6.0 – 外部存储文件在应用卸载时被删除所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)