2017-01-23 32 views
1

外部SDから一部のファイルを読み込もうとしています。Androidの読み込みSD外部が動作していない

final File externalStorage = Environment.getExternalStorageDirectory(); 

String list = "";// 
list+= "Listing all the files in SD: " + externalStorage.getAbsolutePath() + "\n"; 
Log.i("VVV", list); 

for (File file: externalStorage.listFiles()) { 
    Log.i("VVV", file.getAbsolutePath()); 
    list += file.getAbsolutePath() + "\n"; 
} 

私は外部SDを読み取ろうとしています。私はいつも/ storage/sdcardの代わりに/ emulate/0パスを取得するのではありません。

それは上記のコードのために出力されます:

01-22 19:07:55.852 23991-23991/forkandjoin.tvplayer I/VVV: Listing all the files in SD: /storage/emulated/0 
01-22 19:07:55.862 23991-23991/forkandjoin.tvplayer I/VVV: /storage/emulated/0/Samsung 
01-22 19:07:55.862 23991-23991/forkandjoin.tvplayer I/VVV: /storage/emulated/0/.face 
01-22 19:07:55.862 23991-23991/forkandjoin.tvplayer I/VVV: /storage/emulated/0/Music 
01-22 19:07:55.862 23991-23991/forkandjoin.tvplayer I/VVV: /storage/emulated/0/Podcasts 
01-22 19:07:55.862 23991-23991/forkandjoin.tvplayer I/VVV: /storage/emulated/0/Ringtones 
01-22 19:07:55.862 23991-23991/forkandjoin.tvplayer I/VVV: /storage/emulated/0/Alarms 
01-22 19:07:55.862 23991-23991/forkandjoin.tvplayer I/VVV: /storage/emulated/0/Notifications 
01-22 19:07:55.862 23991-23991/forkandjoin.tvplayer I/VVV: /storage/emulated/0/Pictures 
01-22 19:07:55.862 23991-23991/forkandjoin.tvplayer I/VVV: /storage/emulated/0/Movies 
01-22 19:07:55.862 23991-23991/forkandjoin.tvplayer I/VVV: /storage/emulated/0/Download 
01-22 19:07:55.862 23991-23991/forkandjoin.tvplayer I/VVV: /storage/emulated/0/DCIM 
01-22 19:07:55.862 23991-23991/forkandjoin.tvplayer I/VVV: /storage/emulated/0/Documents 
01-22 19:07:55.862 23991-23991/forkandjoin.tvplayer I/VVV: /storage/emulated/0/Android 
01-22 19:07:55.862 23991-23991/forkandjoin.tvplayer I/VVV: /storage/emulated/0/SMemo 
01-22 19:07:55.862 23991-23991/forkandjoin.tvplayer I/VVV: /storage/emulated/0/ATT Locker 
01-22 19:07:55.862 23991-23991/forkandjoin.tvplayer I/VVV: /storage/emulated/0/.wildtangent 
01-22 19:07:55.862 23991-23991/forkandjoin.tvplayer I/VVV: /storage/emulated/0/.profig.os 
01-22 19:07:55.862 23991-23991/forkandjoin.tvplayer I/VVV: /storage/emulated/0/WhatsApp 
01-22 19:07:55.862 23991-23991/forkandjoin.tvplayer I/VVV: /storage/emulated/0/com.facebook.orca 
01-22 19:07:55.862 23991-23991/forkandjoin.tvplayer I/VVV: /storage/emulated/0/.thumbnails 
01-22 19:07:55.862 23991-23991/forkandjoin.tvplayer I/VVV: /storage/emulated/0/Facebook Messenger 
01-22 19:07:55.862 23991-23991/forkandjoin.tvplayer I/VVV: /storage/emulated/0/PhotoEditor 
01-22 19:07:55.862 23991-23991/forkandjoin.tvplayer I/VVV: /storage/emulated/0/.facebook_cache 
01-22 19:07:55.862 23991-23991/forkandjoin.tvplayer I/VVV: /storage/emulated/0/Playlists 
01-22 19:07:55.862 23991-23991/forkandjoin.tvplayer I/VVV: /storage/emulated/0/wdh_update 
01-22 19:07:55.862 23991-23991/forkandjoin.tvplayer I/VVV: /storage/emulated/0/Skai 
01-22 19:07:55.862 23991-23991/forkandjoin.tvplayer I/VVV: /storage/emulated/0/com.qisi.sdk.file 
01-22 19:07:55.862 23991-23991/forkandjoin.tvplayer I/VVV: /storage/emulated/0/fujifilm 
01-22 19:07:55.862 23991-23991/forkandjoin.tvplayer I/VVV: /storage/emulated/0/com.facebook.katana 
01-22 19:07:55.862 23991-23991/forkandjoin.tvplayer I/VVV: /storage/emulated/0/IMO 
01-22 19:07:55.862 23991-23991/forkandjoin.tvplayer I/VVV: /storage/emulated/0/ialog.txt 

だから私は私が間違っているのかわかりませんか?

答えて

1

External storageremovable storageではありません。コードが外部ストレージにアクセスしています。リムーバブルストレージ上の任意の場所へのファイルシステムアクセスはありません。 the Storage Access Frameworkを使用してユーザーに文書を開くように頼むことができ、ユーザーはリムーバブル記憶域上の文書を選択できます。

+0

Googleではリムーバブルストレージ用のAPIを提供していません。 SDリムーバブルストレージ内のすべての動画や情報を検索または管理したい場合はどうなりますか?助言がありますか? – Robert

+0

@Robert:リムーバブルストレージを含むメディアを操作するには、 'MediaStore'を使用します。 – CommonsWare

+0

私はプロジェクトで働いています。 SD外部(リムーバブルストレージ)に動画に関するすべてのデータを保存したいと考えています。 SDのコンテンツを更新したい場合は、削除して新しいものを入れてください。しかし、MediaStoreでは、デバイス内のすべての動画を検索し、正しい動画を選択します。うわー、それはたくさんの仕事になるでしょう。リムーバブルストレージのデータを知る方法はありませんか? – Robert

関連する問題