ホームページ  >  記事  >  Java  >  Android Marshmallow (6.0) でのフォルダー作成の問題を解決する方法?

Android Marshmallow (6.0) でのフォルダー作成の問題を解決する方法?

DDD
DDDオリジナル
2024-10-24 03:48:02511ブラウズ

How to Fix Folder Creation Issues on Android Marshmallow (6.0)?

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。