オーディオを録音し、ファイルの場所の下に保存するコードを書きました。
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カードでこのファイルの場所を見つけることができません。ロケーションにアクセスする方法は?
Hirenが述べたように、ディレクトリを表示するにはファイルエクスプローラが必要です。あなたがルート化されている場合、ルートエクスプローラーを強くお勧めします。そうでなければ、ESファイルエクスプローラーが良い選択です。
Android 6.0を使用すると、サードパーティのアプリを使用せずにインターンメモリを閲覧できます。私は単にこれを行います*:
*単語はポルトガル語から自由に翻訳しているだけなので、標準の英語版のものと一致しない場合があります。
注:少なくとも私の電話では、/storage/emulated/0
はSDカードに対応していませんが、内部メモリに対応しています。この方法は外付けカードでは機能しませんでしたが、別の電話で試したことはありません。
お役に立てれば!
また、 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>
デバイスを接続し、adb Shell
を実行すると、デバイスでコマンドシェルが表示されます。 /storage/emulated/
を読み取る権限がありませんが、サブディレクトリ0にあることがわかっているので、cd /storage/emulated/0
に移動するだけで、アスペクトのように周囲を見回して対話することができます。
注:adb
もワイヤレスで使用できます
ここでは、/ mnt/Shell/emulated/0にあります
これを試して
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");
}
エミュレータで、このファイルを表示するには、設定>ストレージ>その他> Android>データ> com.companyname.textapp>ファイル>ダウンロードをクリックします。ここで、textappは作業中のアプリの名前です。
からお試しください
ftp://ip_my_s5:2221/mnt/sdcard/Pictures/Screenshots
/storage/emulated/0
を指す
Androidでは、パス名に/sdcard/
をハードコーディングする代わりにEnvironment.getExternalStorageDirectory.getPath()
を呼び出すことをお勧めします。これは、プライマリ共有/外部ストレージディレクトリを返します。そのため、ストレージがエミュレートされている場合、これは/storage/emulated/0
を返します。ファイルエクスプローラーでデバイスストレージを探索すると、上記のディレクトリは/mnt/sdcard
(Xperia Z2でAndroid 6を実行して確認済み)になります。
私の場合、/ 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
);
デバイスファイルエクスプローラーでデバイス上のファイルを表示する
https://developer.Android.com/studio/debug/device-file-Explorer
/ storage/emulated/0 /から写真を復元するには、100Androファイルを開くだけです。PCエクスプローラーで写真にアクセスできない場合でも、写真が表示されます。そこで、各画像を1つずつ開き、設定に進み(3つのドット..)、画像を保存します。 Androidファイル 'Pictures'に表示され、Explorerを使用してコピーすることもできます。 「すべて保存」機能はありませんが、1つずつ実行する必要がありますが、機能します。
QT
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分かかります。