How do I set a broadcast receiver
I want to set a broadcast receiver to run some function when it gets the broadcast message, in this example, I want to catch the download's manager intent:
DownloadManager.ACTION_DOWNLOAD_COMPLETE
I looked开发者_如何学C at the Android API examples and haven't found a way to do this
You should read this first:
http://developer.android.com/reference/android/content/BroadcastReceiver.html
Then look here for examples.
Android Samples: http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/appwidget/ExampleBroadcastReceiver.html
Blog post: http://www.androidcompetencycenter.com/2009/01/basics-of-android-part-ii-intent-receivers/
Try this:
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action.equals(DownloadManager.ACTION_DOWNLOAD_COMPLETE) ){
// do something
}
}
registerReceiver(receiver, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE));
You can create a class that inherits from BroadcastReceiver
:
public class MyDownloadCompleteReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
}
}
And then register this class in your application manifest like so:
<receiver android:enabled="true"
android:name="MyDownloadCompleteReceiver"
android:label="downloadCompleteReceiver">
<intent-filter>
<action android:name="android.intent.action.DOWNLOAD_COMPLETE" />
</intent-filter>
</receiver>
精彩评论