Marshmallow Android 文件夹创建问题
在 Android 6.0(Marshmallow)上创建文件夹时遇到问题?您来对地方了!
某些 Marshmallow 设备在创建新文件夹方面表现出不稳定性。虽然在 Android 5.0 上一切正常,但在 Marshmallow 上,有时会创建成功,有时则不会。这是为什么?
权限问题
Marshmallow 引入了对外部存储权限的更严格控制。对于 Android M 及更高版本,在使用外部存储之前需要获得用户的明确许可。如果您没有请求此权限,您的应用程序将无法创建目录。
解决方案
为了在 Marshmallow 上成功创建文件夹,您需要向用户请求 WRITE_EXTERNAL_STORAGE 权限。您可以使用以下代码实现它:
<code class="java">@Override protected void onCreate(Bundle savedInstanceState) { ... if (CheckPermission(MyDevIDS.this, Manifest.permission.WRITE_EXTERNAL_STORAGE)) { // 拥有写入权限 createApplicationFolder(); } else { // 请求运行时权限 RequestPermission(MyDevIDS.this, Manifest.permission.WRITE_EXTERNAL_STORAGE, REQUEST_RUNTIME_PERMISSION); } }</code>
CheckPermission 和 RequestPermission 是辅助方法,用于检查应用程序是否拥有 WRITE_EXTERNAL_STORAGE 权限并请求该权限,如果它尚未授予。
<code class="java">public static void createApplicationFolder() { File f = new File(Environment.getExternalStorageDirectory(), File.separator + Config.VIDEO_COMPRESSOR_APPLICATION_DIR_NAME); f.mkdirs(); ... }</code>
通过这些更改,您的应用程序将能够在 Marshmallow 及更高版本上可靠地创建文件夹。
以上是如何修复 Android Marshmallow (6.0) 上的文件夹创建问题?的详细内容。更多信息请关注PHP中文网其他相关文章!