2012-03-20 6 views
4

私は少し問題がある。私が使用して私のSDカードを更新しています:sendBroadcastが彼の仕事を完了したかどうかを確認する方法

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory()))); 

を、私は開始時に飛び出しスピンナーでProgressDialogを作成しました(「開始時」 - 私はsendBroadcast方法後の平均)、そして成功リフレッシュした後、私は希望しますそれを却下するが、私はMediaScannerが彼の仕事を終えたことを確認する方法を知らない。 (いくつかの状況では、それが存在していない私は、ファイルへの直接パスを持っていないので、私はMediaScannerConnectionOnScanCompletedListener()を使用することはできません

...私はBroadcastReciversendStickyOrderedBroadcast(...)を使用してみましたが、そのは、それは間違った考えだったようです)。 誰かが私の問題を解決する方法を知っていますか?私は考えがなくなった

答えて

1

ブロードキャストを送信すると結果が期待できません。 受信者(この場合、ACTION_MEDIA_MOUNTEDブロードキャストをキャッチするMediaScannerService)が、「ジョブ」の更新を伴う独自のブロードキャストを送信する場合、唯一取得する唯一の方法です。

あなたの現在の状況に合わせてACTION_MEDIA_SCANNER_FINISHEDをキャッチする必要がありますが、具体的なファイルやスキャンの進捗状況をより詳細に管理したい場合は、MediaScannerConnectionClientを実装できます。

関連する問題