1

BroadcastReceiverを使用してスクリーンショットを取得するアプリケーションを開発しています。 onReceiveメソッドでは、スクリーンショットを取り、Screenshot/ディレクトリに保存します。問題は、フォルダ内のスクリーンショットを見ることができますが、ギャラリーで見ることができないことです。ギャラリーが更新されない可能性がありますか?私は私のBroadcastReceiverMediaScannerクラスまたはsendBroadcastメソッドを使用しようとしたが、それはアプリケーションがクラッシュしたため動作しません。スクリーンショットをキャプチャした後にギャラリーを更新するにはどうすればよいですか?

イメージを保存した後、ギャラリーを更新するにはどうすればよいですか?

+0

MediaScannerで使用しているコードを投稿できますか?また、アプリケーションがクラッシュすると、ログには何が表示されますか? – bryan

+0

MediaScannerConnection.scanFile(コンテキスト、新しいString [] {file.toString()}、ヌル、新しいMediaScannerConnection.OnScanCompletedListener(){公共ボイドonScanCompleted(文字列パス、ウリURI)は{Log.i( "ExternalStorage"、 "スキャン" +パス+ ":"); Log.i( "ExternalStorage"、 " - > URI =" + URI);}})。アプリは、ログをクラッシュ –

+0

は言う:java.lang.RuntimeExceptionを:android.content.ReceiverCallNotAllowedException:BroadcastReceiverコンポーネントは、私はエラーが表示さsendBroadcastメソッドを使用しようとすると、サービス –

答えて

1

この方法をお試しください。許可の問題はないはずです。

sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, fileUri)); 
+0

ありがとうブライアン。それはうまく動作します。私は正しいfileuriを置くことを忘れてしまった –

関連する問題