ホームページ > Java > &#&チュートリアル > Android 10 以降でのディレクトリ作成の問題を解決するには?

Android 10 以降でのディレクトリ作成の問題を解決するには?

Linda Hamilton
リリース: 2024-12-06 09:42:12
オリジナル
475 人が閲覧しました

How to Overcome Directory Creation Issues in Android 10 and Above?

Android 10 でディレクトリを作成できない: 解決策と回避策

はじめに

Android の場合10 以降のバージョンでは、開発者が外部ストレージの場所にディレクトリを作成するときに問題が発生する可能性があります。この記事では、この問題の背後にある理由を説明し、考えられる解決策と回避策を示します。

問題の説明

Android 10 以降のリリースでは、外部ストレージ上の任意の場所へのアクセスが制限されています。その結果、File.mkdir() または Files.createDirectory() を使用してディレクトリを作成する従来の方法は、AccessDeniedException で失敗する可能性があります。

原因

この制限は次のようなものによるものです。 Android の強化されたプライバシー対策。明示的なユーザーなしにアプリが機密ユーザー データにアクセスすることを防ぐことを目的としています。

解決策と回避策

開発者には、この問題に対処するためのいくつかのオプションがあります。

レガシー ストレージ モデルの選択

  • android:requestLegacyExternalStorage="true" を追加しますへマニフェスト内の要素。これにより、アプリは従来の外部ストレージ権限を引き続き使用できるようになります。ただし、このオプションは Android 10 および 11 でのみ使用できます。

コンテキストベースのディレクトリの使用

  • アクセスするには getExternalFilesDir() などのメソッドを使用します。アプリが書き込み権限を持つ外部ストレージ上のディレクトリ。このアプローチには追加の権限は必要ありません。ただし、これらのディレクトリに保存されているデータは、アプリをアンインストールすると削除されます。

Storage Access Framework (SAF) を使用する

  • SAF を使用してリクエストする特定のファイルとディレクトリにアクセスして管理するためのユーザー権限。この方法ではファイル アクセスをより詳細に制御できますが、追加の権限とユーザーの操作が必要です。

メディア ストレージ

  • 保存されるコンテンツがメディアの場合関連する場合は、MediaStore を使用して標準のメディアの場所に配置することを検討してください。このアプローチにより、デバイスのメディア ライブラリが適切に整理され、アクセスしやすくなります。

以上がAndroid 10 以降でのディレクトリ作成の問題を解決するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート