ホームページ >Java >&#&チュートリアル >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 サイトの他の関連記事を参照してください。