0
私の内部ストレージと外部ストレージに存在するjpgファイルを一覧表示しようとしていますが、Environment.getRootDirectory()を使用すると以下のコードが動作しますがEnvironment.getExternalStorageDirectory働いていない。リストファイルが外部ストレージディレクトリに存在する
のOnCreate:私は、以下の呼び出しを追加しました:ここ
walkdir(Environment.getExternalStorageDirectory());
は、ファイルを一覧表示するには無効である:
マニフェストにpublic void walkdir(File dir) {
TextView tv=(TextView)findViewById(R.id.tv_data);
int count=0;
File[] listFile;
listFile = dir.listFiles();
if (listFile != null) {
for (int i = 0; i < listFile.length; i++) {
if (listFile[i].isDirectory()) {
walkdir(listFile[i]);
} else {
if (listFile[i].getName().toLowerCase().endsWith(".jpg")){
tv.setText(tv.getText().toString()+"\n"+listFile[i].toString());
}
}
}
}
}
:私は、これらの権限を追加しました:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
してください誰でもコードがgetRootDirectory()で動作し、getExternalStorageDirectory()で動作しない理由についてアドバイスできます。
コードを追加して、ユーザーに読み取りと書き込みの許可を確認する方法をアドバイスしてください –
Google for runtime permissions。 – greenapps
テストのために、あなたのアプリの設定に行き、ストレージトグルをONに切り替えることができます。 – greenapps