【android】ファイルのディレクトリを指定するときの注意点

asaba 著者:asaba

【android】ファイルのディレクトリを指定するときの注意点

androidアプリでカメラ機能の実装をするときに、bitmap加工やexifの修正の

ために撮った写真のディレクトリを取ってくる必要があるのですが

今まではEnvironment.getExternalStorageDirectoryで指定することに

よって簡単に写真のディレクトリを見つけることができたのですが、

api29からはユーザーのプライバシーを外部から悪用されないように

と厳しく取り締まった結果このメソッドが非推奨になり

開発者さんたちは泣く泣く変更を余儀なくされました。

 

ですが同じことができなくなったという訳ではなく、代わりに

getExternalFilesDirを使うことで今までと同じように

ディレクトリを指定することができます。

 

他にMediaStoreを使ってファイルを作る方法もあるのですが、

getExternalFilesDirのほうが短いコーディングで済ませられるので

こっちのほうが好みですね。

 

改めてapi29以降で共有ファイルを取得するには以下のように書く

ことで取得できるようになります。

</pre>
<pre>File imageStorageDir = new File(
        getExternalFilesDir(Environment.DIRECTORY_DCIM),
        "child"
);</pre>
<pre>

※DCIMとはandroidが持っている外部ストレージの一部なのですが、sdと
違い切り離すことができません。

なので何もマウントしていない状態で画像を保存する場合は

基本このDCIMに保存されます。

 

 

 

  • この記事いいね! (0)

著者について

asaba

asaba author

好きなもの:RPG、チョコミント 少しずつ頑張ります。