前几天三星 Note II 升级到 android 4.4.3
以后忽然发现“快手”之类软件无法下载视频文件到外置的SD卡中。经网上搜索才发现这是系统升级带来的问题。很多帖子建议先
root,然后修改系统配置文件。这个方法很令人不爽哎。
最后总算找到一篇比较靠谱的文章,其中提到了一种临时解决方案,觉得可行,准备今晚就试验一下。
原文内容摘抄如下:
小弟自从 Z1c 升级到 4.4
之后,首当其冲的就是布卡漫画无法下载至microSD记忆卡,只能指定路径下载到内部存储器。此外的 ACR - Call Recoder
也一样需指定路径下载到内部存储器才能成功录音。
后来不断爬文的结果,发现这是 4.4 KitKat 锁住程序对于外接记忆卡的完整访问权限,但有部分开放(注1)。
在4.4的系统下,app不再对整张SD卡所有目录有完整存取权,所有 app 只对SD卡特定目录有完全控制的权限。
/<External SD Card alias>/Android/data/<app package name>
也就是,只要知道 app package name,自己建立一个文件夹以 app package name
为名,就可以由该程序指定该目录,拥有完全的写入权限,就可以解决无法写入的问题。
实际操作的话,我在google上搜寻到"布卡漫画"的 Package name: cn.ibuka.manga.ui。我于 SD
卡的 //Android/data/ 目录用内建的 File Commander 建立一个新的文件夹,命名为
cn.ibuka.manga.ui,然后到布卡漫画将下载的目录指向这个文件夹://sdcard1/Android/data/cn.ibuka.manga.ui/ibuka/down/,设定完毕,就可以成功下载了。下载几个章节以后,可以用
File Commnader 检查,漫画的确是放在 SD Card 里面。
另外像好用的录音软件 ACR - Call Recorder,也是 google 到 app package name:
com.nll.acr,然后在 SD 卡上建立
//Android/data/com.nll.acr/,然后就可以把录音文件存放位置指向这个文件夹,即可正确录音。
其他的app对于无法写入SD卡部分应该会陆续修正API,但在修正之前,可以先用这种方法顶着先。
[后记]
晚上进行了试验,关于如何查看 package name
的方法,上面介绍的不可行,搜索不到。经过研究,发现通过设置中的应用程序管理器可以查看程序名称,也就是 package
name。在运行程序列表里,可以看到,如快手美剧的程序名为:com.kandian.ustvapp。
于是,我就在SD卡的目录 android/data 下建立子目录
com.kandian.ustvapp,在快手美剧设置中设置下载目录为:/android/data/com.kandian.ustvapp。一切大功告成,现在又可以下载视频到SD卡中了。
问题是像 ES文件浏览器之类的软件,无法对 SD 卡中的目录进行管理了。现在只能使用系统自带的文件管理器管理 SD
卡中的文件了。