1. 自定义自已的Broadcast receiver:

public class myReceiver extends BroadcastReceiver{
@Override
public void onReceive (Context context, Intent intent) {
if (intent.getAction().equals("com.spreadcomm.myparceltest.test")){
Toast.makeText(context, "This is from brodcast!", Toast.LENGTH_SHORT).show();
}
else if (intent.getAction().equals(Intent.ACTION_BATTERY_CHANGED)){
Toast.makeText(context, "Charing up!", Toast.LENGTH_LONG).show();
}
}
}

2. 注册Receiver:

a. 通过context:

registerReceiver (BroadcastReceiver receiver, IntentFilter filter, String broadcastPermission, Handler scheduler)

b. 通过Manifest.xml:

<activity android:name=".myParceTest" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver android:name=".myReceiver">
<intent-filter>
<action android:name="com.myparceltest.test" />
</intent-filter>
</receiver>

3. 发送Broadcast:

4. Anroid 提供的Brodcast Action

ACTION_TIME_TICK 每分钟发送,表明时间在运行
ACTION_TIME_CHANGED 当用户更改了设备上的时间时发送
ACTION_TIMEZONE_CHANGED 当用更改了设备上的时区时发送
ACTION_BOOT_COMPLETED 当设备启动完成了以后
ACTION_PACKAGE_ADDED 当添加了新的包到设备上时发送
ACTION_PACKAGE_REMOVED 当删除一个包时发送
ACTION_PACKAGE_CHANGED 当包被更改时,如disable 改为
ACTION_PACKAGE_RESTARTED 当程序被中断,重新打开的时候
ACTION_UID_REMOVED 一个UID从系统删除的时候
ACTION_SHUTDOWN 关机的时候
ACTION_POWER_DISCONNECTED 断开连接电源
ACTION_POWER_CONNECTED 连接外部电源时
ACTION_BATTERY_CHANGED 当电池的状态,充电改变时发送
ACTION_PACKAGE_DATA_CLEARED The user has cleared the data of a package. This should be preceded by ACTION_PACKAGE_RESTARTED, after which all of its persistent data is erased and this broadcast sent. Note that the cleared package does not receive this broadcast.

Api Level 3:(SDK 1.5)

Xml代码

  1. android.bluetooth.a2dp.intent.action.SINK_STATE_CHANGED
  2. android.bluetooth.intent.action.BLUETOOTH_STATE_CHANGED
  3. android.bluetooth.intent.action.BOND_STATE_CHANGED_ACTION
  4. android.bluetooth.intent.action.DISCOVERY_COMPLETED
  5. android.bluetooth.intent.action.DISCOVERY_STARTED
  6. android.bluetooth.intent.action.HEADSET_ADUIO_STATE_CHANGED
  7. android.bluetooth.intent.action.HEADSET_STATE_CHANGED
  8. android.bluetooth.intent.action.NAME_CHANGED
  9. android.bluetooth.intent.action.PAIRING_CANCEL
  10. android.bluetooth.intent.action.PAIRING_REQUEST
  11. android.bluetooth.intent.action.REMOTE_DEVICE_CONNECTED
  12. android.bluetooth.intent.action.REMOTE_DEVICE_DISAPPEARED
  13. android.bluetooth.intent.action.REMOTE_DEVICE_DISAPPEARED
  14. android.bluetooth.intent.action.REMOTE_DEVICE_DISCONNECTED
  15. android.bluetooth.intent.action.REMOTE_DEVICE_DISCONNECT_REQUESTED
  16. android.bluetooth.intent.action.REMOTE_DEVICE_FOUND
  17. android.bluetooth.intent.action.REMOTE_NAME_FAILED
  18. android.bluetooth.intent.action.REMOTE_NAME_UPDATED
  19. android.bluetooth.intent.action.SCAN_MODE_CHANGED
  20. android.intent.action.AIRPLANE_MODE
  21. android.intent.action.BATTERY_CHANGED
  22. android.intent.action.BATTERY_LOW
  23. android.intent.action.BOOT_COMPLETED
  24. android.intent.action.CAMERA_BUTTON
  25. android.intent.action.CONFIGURATION_CHANGED
  26. android.intent.action.DATA_SMS_RECEIVED
  27. android.intent.action.DATE_CHANGED
  28. android.intent.action.DEVICE_STORAGE_LOW
  29. android.intent.action.DEVICE_STORAGE_OK
  30. android.intent.action.GTALK_CONNECTED
  31. android.intent.action.GTALK_DISCONNECTED
  32. android.intent.action.HEADSET_PLUG
  33. android.intent.action.INPUT_METHOD_CHANGED
  34. android.intent.action.MANAGE_PACKAGE_STORAGE
  35. android.intent.action.MEDIA_BAD_REMOVAL
  36. android.intent.action.MEDIA_BUTTON
  37. android.intent.action.MEDIA_CHECKING
  38. android.intent.action.MEDIA_EJECT
  39. android.intent.action.MEDIA_MOUNTED
  40. android.intent.action.MEDIA_NOFS
  41. android.intent.action.MEDIA_REMOVED
  42. android.intent.action.MEDIA_SCANNER_FINISHED
  43. android.intent.action.MEDIA_SCANNER_SCAN_FILE
  44. android.intent.action.MEDIA_SCANNER_STARTED
  45. android.intent.action.MEDIA_SHARED
  46. android.intent.action.MEDIA_UNMOUNTABLE
  47. android.intent.action.MEDIA_UNMOUNTED
  48. android.intent.action.NEW_OUTGOING_CALL
  49. android.intent.action.PACKAGE_ADDED
  50. android.intent.action.PACKAGE_CHANGED
  51. android.intent.action.PACKAGE_DATA_CLEARED
  52. android.intent.action.PACKAGE_INSTALL
  53. android.intent.action.PACKAGE_REMOVED
  54. android.intent.action.PACKAGE_REPLACED
  55. android.intent.action.PACKAGE_RESTARTED
  56. android.intent.action.PHONE_STATE
  57. android.intent.action.PROVIDER_CHANGED
  58. android.intent.action.REBOOT
  59. android.intent.action.SCREEN_OFF
  60. android.intent.action.SCREEN_ON
  61. android.intent.action.TIMEZONE_CHANGED
  62. android.intent.action.TIME_SET
  63. android.intent.action.TIME_TICK
  64. android.intent.action.UID_REMOVED
  65. android.intent.action.UMS_CONNECTED
  66. android.intent.action.UMS_DISCONNECTED
  67. android.intent.action.USER_PRESENT
  68. android.intent.action.WALLPAPER_CHANGED
  69. android.media.AUDIO_BECOMING_NOISY
  70. android.media.RINGER_MODE_CHANGED
  71. android.media.VIBRATE_SETTING_CHANGED
  72. android.net.conn.BACKGROUND_DATA_SETTING_CHANGED
  73. android.net.wifi.NETWORK_IDS_CHANGED
  74. android.net.wifi.RSSI_CHANGED
  75. android.net.wifi.SCAN_RESULTS
  76. android.net.wifi.STATE_CHANGE
  77. android.net.wifi.WIFI_STATE_CHANGED
  78. android.net.wifi.supplicant.CONNECTION_CHANGE
  79. android.net.wifi.supplicant.STATE_CHANGE
  80. android.provider.Telephony.SIM_FULL
  81. android.provider.Telephony.SMS_RECEIVED
  82. android.provider.Telephony.WAP_PUSH_RECEIVED
  83. com.google.gservices.intent.action.GSERVICES_CHANGED
android.bluetooth.a2dp.intent.action.SINK_STATE_CHANGEDandroid.bluetooth.intent.action.BLUETOOTH_STATE_CHANGEDandroid.bluetooth.intent.action.BOND_STATE_CHANGED_ACTIONandroid.bluetooth.intent.action.DISCOVERY_COMPLETEDandroid.bluetooth.intent.action.DISCOVERY_STARTEDandroid.bluetooth.intent.action.HEADSET_ADUIO_STATE_CHANGEDandroid.bluetooth.intent.action.HEADSET_STATE_CHANGEDandroid.bluetooth.intent.action.NAME_CHANGEDandroid.bluetooth.intent.action.PAIRING_CANCELandroid.bluetooth.intent.action.PAIRING_REQUESTandroid.bluetooth.intent.action.REMOTE_DEVICE_CONNECTEDandroid.bluetooth.intent.action.REMOTE_DEVICE_DISAPPEAREDandroid.bluetooth.intent.action.REMOTE_DEVICE_DISAPPEAREDandroid.bluetooth.intent.action.REMOTE_DEVICE_DISCONNECTEDandroid.bluetooth.intent.action.REMOTE_DEVICE_DISCONNECT_REQUESTEDandroid.bluetooth.intent.action.REMOTE_DEVICE_FOUNDandroid.bluetooth.intent.action.REMOTE_NAME_FAILEDandroid.bluetooth.intent.action.REMOTE_NAME_UPDATEDandroid.bluetooth.intent.action.SCAN_MODE_CHANGEDandroid.intent.action.AIRPLANE_MODEandroid.intent.action.BATTERY_CHANGEDandroid.intent.action.BATTERY_LOWandroid.intent.action.BOOT_COMPLETEDandroid.intent.action.CAMERA_BUTTONandroid.intent.action.CONFIGURATION_CHANGEDandroid.intent.action.DATA_SMS_RECEIVEDandroid.intent.action.DATE_CHANGEDandroid.intent.action.DEVICE_STORAGE_LOWandroid.intent.action.DEVICE_STORAGE_OKandroid.intent.action.GTALK_CONNECTEDandroid.intent.action.GTALK_DISCONNECTEDandroid.intent.action.HEADSET_PLUGandroid.intent.action.INPUT_METHOD_CHANGEDandroid.intent.action.MANAGE_PACKAGE_STORAGEandroid.intent.action.MEDIA_BAD_REMOVALandroid.intent.action.MEDIA_BUTTONandroid.intent.action.MEDIA_CHECKINGandroid.intent.action.MEDIA_EJECTandroid.intent.action.MEDIA_MOUNTEDandroid.intent.action.MEDIA_NOFSandroid.intent.action.MEDIA_REMOVEDandroid.intent.action.MEDIA_SCANNER_FINISHEDandroid.intent.action.MEDIA_SCANNER_SCAN_FILEandroid.intent.action.MEDIA_SCANNER_STARTEDandroid.intent.action.MEDIA_SHAREDandroid.intent.action.MEDIA_UNMOUNTABLEandroid.intent.action.MEDIA_UNMOUNTEDandroid.intent.action.NEW_OUTGOING_CALLandroid.intent.action.PACKAGE_ADDEDandroid.intent.action.PACKAGE_CHANGEDandroid.intent.action.PACKAGE_DATA_CLEAREDandroid.intent.action.PACKAGE_INSTALLandroid.intent.action.PACKAGE_REMOVEDandroid.intent.action.PACKAGE_REPLACEDandroid.intent.action.PACKAGE_RESTARTEDandroid.intent.action.PHONE_STATEandroid.intent.action.PROVIDER_CHANGEDandroid.intent.action.REBOOTandroid.intent.action.SCREEN_OFFandroid.intent.action.SCREEN_ONandroid.intent.action.TIMEZONE_CHANGEDandroid.intent.action.TIME_SETandroid.intent.action.TIME_TICKandroid.intent.action.UID_REMOVEDandroid.intent.action.UMS_CONNECTEDandroid.intent.action.UMS_DISCONNECTEDandroid.intent.action.USER_PRESENTandroid.intent.action.WALLPAPER_CHANGEDandroid.media.AUDIO_BECOMING_NOISYandroid.media.RINGER_MODE_CHANGEDandroid.media.VIBRATE_SETTING_CHANGEDandroid.net.conn.BACKGROUND_DATA_SETTING_CHANGEDandroid.net.wifi.NETWORK_IDS_CHANGEDandroid.net.wifi.RSSI_CHANGEDandroid.net.wifi.SCAN_RESULTSandroid.net.wifi.STATE_CHANGEandroid.net.wifi.WIFI_STATE_CHANGEDandroid.net.wifi.supplicant.CONNECTION_CHANGEandroid.net.wifi.supplicant.STATE_CHANGEandroid.provider.Telephony.SIM_FULLandroid.provider.Telephony.SMS_RECEIVEDandroid.provider.Telephony.WAP_PUSH_RECEIVEDcom.google.gservices.intent.action.GSERVICES_CHANGED

Api Level 4增加的:(SDK 1.6)

Xml代码

  1. android.intent.action.ACTION_POWER_CONNECTED
  2. android.intent.action.ACTION_POWER_DISCONNECTED
  3. android.intent.action.ACTION_SHUTDOWN
  4. android.intent.action.BATTERY_OKAY
  5. android.speech.tts.TTS_QUEUE_PROCESSING_COMPLETED
  6. android.speech.tts.engine.TTS_DATA_INSTALLED
  7. com.google.gservices.intent.action.GSERVICES_OVERRIDE
android.intent.action.ACTION_POWER_CONNECTEDandroid.intent.action.ACTION_POWER_DISCONNECTEDandroid.intent.action.ACTION_SHUTDOWNandroid.intent.action.BATTERY_OKAYandroid.speech.tts.TTS_QUEUE_PROCESSING_COMPLETEDandroid.speech.tts.engine.TTS_DATA_INSTALLEDcom.google.gservices.intent.action.GSERVICES_OVERRIDE

Api Level 5(SDK 2.0)蓝牙部分全部修改,修改后的

Xml代码

  1. android.bluetooth.a2dp.action.SINK_STATE_CHANGED
  2. android.bluetooth.adapter.action.DISCOVERY_FINISHED
  3. android.bluetooth.adapter.action.DISCOVERY_STARTED
  4. android.bluetooth.adapter.action.LOCAL_NAME_CHANGED
  5. android.bluetooth.adapter.action.SCAN_MODE_CHANGED
  6. android.bluetooth.adapter.action.STATE_CHANGED
  7. android.bluetooth.device.action.ACL_CONNECTED
  8. android.bluetooth.device.action.ACL_DISCONNECTED
  9. android.bluetooth.device.action.ACL_DISCONNECT_REQUESTED
  10. android.bluetooth.device.action.BOND_STATE_CHANGED
  11. android.bluetooth.device.action.CLASS_CHANGED
  12. android.bluetooth.device.action.FOUND
  13. android.bluetooth.device.action.NAME_CHANGED
  14. android.bluetooth.devicepicker.action.DEVICE_SELECTED
  15. android.bluetooth.devicepicker.action.LAUNCH
  16. android.bluetooth.headset.action.AUDIO_STATE_CHANGED
  17. android.bluetooth.headset.action.STATE_CHANGED
android.bluetooth.a2dp.action.SINK_STATE_CHANGEDandroid.bluetooth.adapter.action.DISCOVERY_FINISHEDandroid.bluetooth.adapter.action.DISCOVERY_STARTEDandroid.bluetooth.adapter.action.LOCAL_NAME_CHANGEDandroid.bluetooth.adapter.action.SCAN_MODE_CHANGEDandroid.bluetooth.adapter.action.STATE_CHANGEDandroid.bluetooth.device.action.ACL_CONNECTEDandroid.bluetooth.device.action.ACL_DISCONNECTEDandroid.bluetooth.device.action.ACL_DISCONNECT_REQUESTEDandroid.bluetooth.device.action.BOND_STATE_CHANGEDandroid.bluetooth.device.action.CLASS_CHANGEDandroid.bluetooth.device.action.FOUNDandroid.bluetooth.device.action.NAME_CHANGEDandroid.bluetooth.devicepicker.action.DEVICE_SELECTEDandroid.bluetooth.devicepicker.action.LAUNCHandroid.bluetooth.headset.action.AUDIO_STATE_CHANGEDandroid.bluetooth.headset.action.STATE_CHANGED

然后增加的有

Xml代码

  1. android.intent.action.DOCK_EVENT
  2. android.provider.Telephony.SMS_REJECTED
android.intent.action.DOCK_EVENTandroid.provider.Telephony.SMS_REJECTED

Api Level 6(SDK 2.0.1)没有改变。

Api Level 7(SDK 2.1)增加的:

Xml代码

  1. android.intent.action.LOCALE_CHANGED
android.intent.action.LOCALE_CHANGED

Api Level 8(SDK 2.2)增加的:

Xml代码

  1. android.app.action.ACTION_PASSWORD_CHANGED
  2. android.app.action.ACTION_PASSWORD_FAILED
  3. android.app.action.ACTION_PASSWORD_SUCCEEDED
  4. android.app.action.DEVICE_ADMIN_DISABLED
  5. android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED
  6. android.app.action.DEVICE_ADMIN_ENABLED
  7. android.intent.action.EXTERNAL_APPLICATIONS_AVAILABLE
  8. android.intent.action.EXTERNAL_APPLICATIONS_UNAVAILABLE
  9. android.media.SCO_AUDIO_STATE_CHANGED
android.app.action.ACTION_PASSWORD_CHANGEDandroid.app.action.ACTION_PASSWORD_FAILEDandroid.app.action.ACTION_PASSWORD_SUCCEEDEDandroid.app.action.DEVICE_ADMIN_DISABLEDandroid.app.action.DEVICE_ADMIN_DISABLE_REQUESTEDandroid.app.action.DEVICE_ADMIN_ENABLEDandroid.intent.action.EXTERNAL_APPLICATIONS_AVAILABLEandroid.intent.action.EXTERNAL_APPLICATIONS_UNAVAILABLEandroid.media.SCO_AUDIO_STATE_CHANGED

更多相关文章

  1. Android(安卓)深入研究SQLite实例(七)
  2. Android: 用Instrumentation类发送鼠标或按键事件
  3. android发送QQ邮件(带附件)
  4. android群发短信时判断短信是否发送成功
  5. Android(安卓)中使用 ComponentName 类
  6. Android常用代码
  7. android 微信登录
  8. Android之数据存储-手机存储中
  9. android下联网

随机推荐

  1. 当sd卡不存在时,保存文件到手机上
  2. Android实现图片文字轮播特效
  3. GreenDao数据库升级解决方案
  4. Android-Gradle依赖统一管理
  5. Android向node.js编写的服务器发送数据并
  6. Android使用枚举单例实现Toast快速刷新(
  7. android mediasession 音频服务框架
  8. Android获取验证码倒计时实现代码
  9. Android(安卓)使用Intent隐式传递启动Act
  10. wifi 架构