web-dev-qa-db-ja.com

/ storage / emulated / 0 /にアクセスする方法

オーディオを録音し、ファイルの場所の下に保存するコードを書きました。

private String getFilename() {
    String filepath = Environment.getExternalStorageDirectory().getPath();
    File file = new File(filepath, AUDIO_RECORDER_FOLDER);
    if (!file.exists()) {
        file.mkdirs();
    }
    return (file.getAbsolutePath() + "/" + System.currentTimeMillis() + file_exts[currentFormat]);
}

Logcatでは、ファイルの場所を

/storage/emulated/0/AudioRecorder/1436854479696.mp4

SDカードでこのファイルの場所を見つけることができません。ロケーションにアクセスする方法は?

25
nerdy_me

Hirenが述べたように、ディレクトリを表示するにはファイルエクスプローラが必要です。あなたがルート化されている場合、ルートエクスプローラーを強くお勧めします。そうでなければ、ESファイルエクスプローラーが良い選択です。

8
Stryke_the_Orc

サードパーティのアプリは不要

Android 6.0を使用すると、サードパーティのアプリを使用せずにインターンメモリを閲覧できます。私は単にこれを行います*:

  1. "設定"
  2. 「ストレージとUSB」
  3. "インターン"
  4. [ビットをロードしてください...]
  5. [一番下までスクロール]
  6. "ブラウズ"

*単語はポルトガル語から自由に翻訳しているだけなので、標準の英語版のものと一致しない場合があります。

:少なくとも私の電話では、/storage/emulated/0はSDカードに対応していませんが、内部メモリに対応しています。この方法は外付けカードでは機能しませんでしたが、別の電話で試したことはありません。

お役に立てれば!

24
Rui Pimentel

また、 Android Debug Bridge(adb) を使用して、ファイルをAndroidデバイスからPC上のフォルダーにコピーできます。

adb pull /storage/emulated/0/AudioRecorder/1436854479696.mp4 <folder_on_your_PC_e.g. c:/temp>

そして、デバイス全体AudioRecorderフォルダーからコピーできます。

adb pull /storage/emulated/0/AudioRecorder <folder_on_your_PC_e.g. c:/temp>
10

デバイスを接続し、adb Shellを実行すると、デバイスでコマンドシェルが表示されます。 /storage/emulated/を読み取る権限がありませんが、サブディレクトリ0にあることがわかっているので、cd /storage/emulated/0に移動するだけで、アスペクトのように周囲を見回して対話することができます。

注:adbもワイヤレスで使用できます

3
FrickeFresh

ここでは、/ mnt/Shell/emulated/0にあります

2
user8734057

これを試して

private String getFilename() {
    String filepath = Environment.getExternalStorageDirectory().getPath();
    File file = new File(filepath + "/AudioRecorder" );
    if (!file.exists()) {
        file.mkdirs();
    }
    return (file.getAbsolutePath() + "/" + System.currentTimeMillis() + ".mp4");
}
2
Tarkik

エミュレータで、このファイルを表示するには、設定>ストレージ>その他> Android>データ> com.companyname.textapp>ファイル>ダウンロードをクリックします。ここで、textappは作業中のアプリの名前です。

2
geet

からお試しください

ftp://ip_my_s5:2221/mnt/sdcard/Pictures/Screenshots

/storage/emulated/0を指す

1
bill god

Androidでは、パス名に/sdcard/をハードコーディングする代わりにEnvironment.getExternalStorageDirectory.getPath()を呼び出すことをお勧めします。これは、プライマリ共有/外部ストレージディレクトリを返します。そのため、ストレージがエミュレートされている場合、これは/storage/emulated/0を返します。ファイルエクスプローラーでデバイスストレージを探索すると、上記のディレクトリは/mnt/sdcard(Xperia Z2でAndroid 6を実行して確認済み)になります。

1
codezombie

AndroidデバイスモニターとAndroidエミュレーターを使用している場合:次の方法でアクセスしました:Data/Media/0/ enter image description here

1
Vinod Joshi

私の場合、/ storage/emulated/0 /はデバイスのルートパスに対応です。たとえば、携帯電話のデフォルトのカメラアプリケーションで写真を撮ると、画像は自動的に保存されます/ store/emulated/0/DCIM/Camera/mypicname.jpeg

たとえば、写真を/ Picturesディレクトリ、つまりルートディレクトリにあるPicturesディレクトリに保存するとします。そこで、以下のコードを使用します。

File storageDir = Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_PICTURES );

DCIMまたはダウンロードディレクトリにイメージを保存する場合は、上記のEnvironment.getExternalStoragePublicDirectory()メソッドに以下の引数を指定します。

Environment.DIRECTORY_DCIM
Environment.DIRECTORY_Downloads

次に、画像名を指定します。

String imageFileName = "JPEG_" + timeStamp + "_";

次に、以下に示すようにファイルオブジェクトを作成します。 2番目の引数として接尾辞を指定します。

File image = File.createTempFile(
            imageFileName,  // prefix
            ".jpg",         // suffix
            storageDir      // directory
);
1
oiyio

デバイスファイルエクスプローラーでデバイス上のファイルを表示する

https://developer.Android.com/studio/debug/device-file-Explorer

/ storage/emulated/0 /から写真を復元するには、100Androファイルを開くだけです。PCエクスプローラーで写真にアクセスできない場合でも、写真が表示されます。そこで、各画像を1つずつ開き、設定に進み(3つのドット..)、画像を保存します。 Androidファイル 'Pictures'に表示され、Explorerを使用してコピーすることもできます。 「すべて保存」機能はありませんが、1つずつ実行する必要がありますが、機能します。

QT

0
Christof Rieber

https://productforums.google.com/forum/#!msg/nexus/WIcHUNQfRLU/ALpViG86AwAJ

Expensive Toys氏は次のように述べています。この問題は、ハニカムまでさかのぼって発生し始めたので、この問題がまだ現れていることに驚いています。

したがって、/ storage/emulated/0/DCIM/Cameraは、通常のDCIM/Cameraフォルダーと同じフォルダーです。その単なるシンボリックリンク。したがって、ファイルは実際には適切な場所にあり、MediaStore Databaseに不正なデータを保存するアプリがあります。

PCからファイルにアクセスする場合、実際にはファイルのMediaStorageデータベースを列挙しています。従来のディレクトリリストをプルしません。そのため、表示される内容は、そのデータベースの内容とデータベースのパスエントリに基づいています。エミュレートされたディレクトリを指すデータベース内のファイルは、通常のDCIM /カメラと同じ物理ディレクトリとして重複していると想定されるため、表示されません。何が起こっているのかというと、不完全に書かれたサードパーティのアプリが、DCIM /カメラへの適切なルートパスではなく、/ storage/emulated/0/DCIM/Cameraパスでデータベースにエントリを挿入しているということです。つまり、PCに接続されていると、MTPサービスはそれらを見ることができません。

通常、問題を解決する最も簡単な方法は、MediaStoreデータベースをクリアしてMediaStoreデータベースから不正なエントリを取得し、システムにファイルのインデックスを再作成させ、適切なパスでデータベースに入れることです。

設定->アプリ右上の3ドットメニューを選択し、システムの表示メディアストレージの検索、選択、ストレージの選択、データのクリア外部ストレージの検索、選択、ストレージの選択、データのクリアを選択します。インデクサーサービスがデータを再構築するのを待ちます。

完了すると、ファイルは適切なディレクトリツリーで表示され、PCから見えるようになります。電話機のファイルの量によっては、サービスが電話機のディレクトリを歩いたり、メタデータを取得したり、サムネイルを作成したりするときに、メディアデータベースを再構築するのに10〜20分かかります。

0
Miksha