私はいつも私の質問に対して次の答えを見つけました:
context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"
+ Environment.getExternalStorageDirectory())));
しかし、私のシステムでは動作しません (Nexus4 Android 4. ...)
ファイルを作成し、このコードで Media-DB に追加できます
Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
Uri contentUri = Uri.fromFile(file);
mediaScanIntent.setData(contentUri);
context.sendBroadcast(mediaScanIntent);
「ファイル」は、追加したい新しい画像ファイルです。
ファイルを削除した後、ギャラリーを更新しようとしました
Intent intent = new Intent(Intent.ACTION_MEDIA_MOUNTED);
Uri contentUri = Uri.parse("file://" + Environment.getExternalStorageDirectory());
intent.setData(contentUri);
context.sendBroadcast(intent);
また
context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"
+ Environment.getExternalStorageDirectory())));
しかし、ギャラリーにはまだ空のプレースホルダーがあります。
何故かはわからない?...
安全のために、AndroidManifest.xml に自分のアクティビティも追加します。
<intent-filter>
<action android:name="android.intent.action.MEDIA_MOUNTED" />
<data android:scheme="file" />
</intent-filter>
しかし、結果は同じです。問題を解決するためのアイデアはありますか?