安卓4.4 Kitkat和第二个外部存储设备

3
关于Kitkat外部SD卡写入权限的问题已经有很多文章,但我不清楚它是如何工作的。不幸的是,我没有带有SD卡插槽的Kitkat设备。我的问题是,我是否可以完全写入到辅助外部存储器?根据文档

应用程序不得允许写入到次要外部存储设备,除了其特定于包的目录。

如果我理解正确,如果我没有权限,则可以将文件写入主要外部存储器上的应用程序专用文件夹/sdcard/Android/data/package/...以及写入到辅助外部存储器上应用程序专用文件夹/extSdcard/Android/data/package/...

而使用WRITE_EXTERNAL_STORAGE权限,则可以在主要外部存储器上的所有位置/sdcard/*进行读写操作,但无法在辅助外部存储器上的任何位置进行写入(除了应用程序专用文件夹)?

感谢所有回答!

2个回答

4

您的分析是正确的,除了假设主要的外部存储是 /sdcard(确切的路径因Android 4.2+平板电脑的设备、操作系统级别和用户帐户而异)。

以下是我最近关于外部存储可拆卸式(“次要外部”)存储撰写的一些博客文章。


您还可以使用EnvironmentCompat和ContextCompat获取各种外部存储组件的路径和状态。但是,我不知道如何确定是否有真正的可移动SD卡。此外,我也不知道在哪种情况下这是错误的:Environment.isExternalStorageEmulated()==(!Environment.isExternalStorageRemovable())。 - android developer
这意味着像 WhatsApp 这样的应用程序将其图像和视频存储在主存储中,而此路径可通过 Environment.getExternalStorageDirectory() 访问? - hadi
@hadi:抱歉,我不是WhatsApp用户。 - CommonsWare
@CommonsWare 我的意思是 WhatsApp,不是 Whatapp :) - hadi
@hadi:我也不使用WhatsApp。他们是使用内部存储还是外部存储,我无法确定。 - CommonsWare

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接