私のアプリでは、キャプチャしたカメラ画像へのパスをハードコーディングしました。ただし、これはすべてのデバイスで機能するわけではありません。これは、イメージのストレージ パスがデバイスによって異なるためです。すべてのデバイスで有効なこのパスを動的に取得する方法はありますか?
これは私が試したことです:
if (externalStorageState.equals(Environment.MEDIA_MOUNTED)
|| externalStorageState.equals(Environment.MEDIA_UNMOUNTED)
|| externalStorageState
.equals(Environment.MEDIA_MOUNTED_READ_ONLY)) {
File path = Environment
.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM
+ "/Camera");//////////----path of captured images
Log.d("operator", " path: " + path);
if (path.exists()) {
if (path.isDirectory()) {
fo = new FileObserver(path.toString(),
FileObserver.CLOSE_WRITE) {
@Override
public void onEvent(int event, String path) {
SimpleDateFormat sdfDateT = new SimpleDateFormat(
"yy-MM-dd HH:mm:ss", Locale.US);
String st = sdfDateT.format(System
.currentTimeMillis());
Log.d("operator", "in event");
Log.d("operator", "lat: " + lat + " " + "lng: "
+ lng + " " + "location: " + addre + " " + "time: " + st);
ptd.insert(st, String.valueOf(lat), String.valueOf(lng), addre);
}
};