一些Android设备将内部存储视为SD卡,将外部存储视为EXTSD

Sla*_*ast 11 android sd-card tablet

我有来自不同供应商的一堆Android设备.

其中一些将/ mnt/sdcard连接到内部存储,将/ mnt/extsd连接到外部存储(方案1),其他人将/ mnt/sdcard连接到外部存储(方案2)

我认为第二种情况是标准的,因为Android API提供了这个路径的句柄.现在的问题是,在方案1中,/mnt/extsd成为readonly即使WRITE_EXTERNAL_STORAGE许可!

这意味着我只能从实际的外部SD卡读取数据而无法写入数据.

有没有解决方法,所以我可以写入extsd文件夹?

Sla*_*ast 0

到目前为止,我发现获得设备写入权限的唯一解决方法是对设备进行 root :(

\n\n

三星提供了一个清单条目的解决方法

\n\n

更多详细信息请参阅以下链接

\n\n

http://www.xda-developers.com/android/android-3-2-code-inadvertently-preventing-write-access-to-external-storage/

\n\n

\n\n

http://www.chainfire.eu/articles/113/Is_Google_blocking_apps_writing_to_SD_cards_/

\n\n

摘录:

\n\n
\n

Google 的 AOSP 代码中似乎存在一个错误,该错误是在 Android 3.2 左右引入的,该错误会影响操作系统处理 USB 存储的方式,并可能阻止对 SD 卡和 USB 记忆棒的写入访问。XDA\n 公认的精英开发者、高级版主和新闻撰稿人\n Chainfire 在他的博客文章中总结了这个问题:

\n\n

“过去,应用程序会请求 \xe2\x80\x9cWRITE_EXTERNAL_STORAGE\xe2\x80\x9d\n 权限,该权限将授予对所有外部存储的写入权限\n(用户/组 \xe2\x80\x9csdcard_rw\xe2\ x80\x9c)。这显然已更改为\n 仅授予对主外部存储的写入访问权限。已引入了第二个\n 权限,名为 \xe2\x80\x9cWRITE_MEDIA_STORAGE\xe2\x80\x9c,该\n 将授予访问其他外部存储(用户/组\n \xe2\x80\x9cmedia_rw\xe2\x80\x9c)。

\n\n

问题是,第三方实际上不会被授予此权限,只有系统应用程序和设备制造商提供的应用程序通常会被授予此权限。也有例外,显然在某些设备上第三方应用程序将被授予此权限,但根据 AOSP 来源,它们肯定不应该这样做。”

\n
\n