Environment.getExternalStorageDirectory()は廃止されました代替の廃止



Environment Getexternalstoragedirectory Is Deprecated Alternative Obsolete



新しいAndroidSDK 29のコンパイル時では、StudioプロンプトEnvironment.getExternalStorageDirectory()は廃止され、Android Q Environment.getExternalStorageDirectory()がパスを返すと、Context#getExternalFilesDirが置き換えられ、パスに直接アクセスできない可能性があるため、Context#getExternalFilesDirを変更しました。

したがって、Environment.getExternalStorageDirectory()は次のように変更できます。



getExternalFilesDir(null)

結果のパスは次のとおりです。

/ storage / emulated / 0 / Android / data / yourPackageName / files



このディレクトリは、アプリケーションがアンインストールされると削除されます。このディレクトリへの動的アクセスでは、アクセス許可STORAGEを申請する必要はありません。

getExternalFilesDirは、次のパラメーターを渡すことができます。

ストリング ?:返すファイルディレクトリのタイプ。 nullの可能性がありますファイルディレクトリのルートまたはサブディレクトリの次の定数のいずれか: android.os.Environment#DIRECTORY_MUSIC android.os.Environment#DIRECTORY_PODCASTS android.os.Environment#DIRECTORY_RINGTONES android.os.Environment#DIRECTORY_ALARMS android.os.Environment#DIRECTORY_NOTIFICATIONS android.os.Environment#DIRECTORY_PICTURES 、または android.os.Environment#DIRECTORY_MOVIES 。この値はnullの場合があります。

たとえば、



getExternalFilesDir(Environment.DIRECTORY_PICTURES)

結果のパスは次のとおりです。

/ storage / emulated / 0 / Android / data / yourPackageName / files / Pictures