SD カードのルート フォルダーに直接アクセスする必要があるアプリを開発していますが、Android 4.2 では、標準の /sdcard ディレクトリが、アプリを実行しているユーザーに固有の「エミュレートされた」SD カードを指すようになりました。私のアプリはSDカードの最上位に保存されているファイルへのアクセスを必要とするため、これは良くありません。Android 4.2でSDカードに直接アクセスする方法を知っている人はいますか?
2 に答える
ストレージディレクトリをファイルタイプとして使用できますか? ( java.io.File
)
その場合、メソッドで次のようなコードを使用して、外部ストレージ (通常は SD カードですが、SD カードのない電話ではメイン ストレージになります) を取得できます。
File path = Environment.getExternalStorageDirectory();
さらに、ストレージへのアクセスにはREAD_EXTERNAL_STORAGE
、Android マニフェストでのアクセス許可WRITE_EXTERNAL_STORAGE
が必要です。これは、データが変更された場合に必要になります。マニフェストに表示されるこれらのアクセス許可は次のとおりです。
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
ソース:
http://developer.android.com/reference/android/os/Environment.html http://developer.android.com/reference/android/Manifest.permission.html
おそらく私はあなたの質問を誤解していますが、Android 4.2.1 を実行している私の Nexus Galaxy では、Environment.getExternalStorageDirectory()
. 返されたディレクトリは/storage/emulated/0
ですが、内容は です/sdcard
。