Android BroadCast

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_CLEAREDThe 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_CHANGED
android.bluetooth.intent.action.BLUETOOTH_STATE_CHANGED
android.bluetooth.intent.action.BOND_STATE_CHANGED_ACTION
android.bluetooth.intent.action.DISCOVERY_COMPLETED
android.bluetooth.intent.action.DISCOVERY_STARTED
android.bluetooth.intent.action.HEADSET_ADUIO_STATE_CHANGED
android.bluetooth.intent.action.HEADSET_STATE_CHANGED
android.bluetooth.intent.action.NAME_CHANGED
android.bluetooth.intent.action.PAIRING_CANCEL
android.bluetooth.intent.action.PAIRING_REQUEST
android.bluetooth.intent.action.REMOTE_DEVICE_CONNECTED
android.bluetooth.intent.action.REMOTE_DEVICE_DISAPPEARED
android.bluetooth.intent.action.REMOTE_DEVICE_DISAPPEARED
android.bluetooth.intent.action.REMOTE_DEVICE_DISCONNECTED
android.bluetooth.intent.action.REMOTE_DEVICE_DISCONNECT_REQUESTED
android.bluetooth.intent.action.REMOTE_DEVICE_FOUND
android.bluetooth.intent.action.REMOTE_NAME_FAILED
android.bluetooth.intent.action.REMOTE_NAME_UPDATED
android.bluetooth.intent.action.SCAN_MODE_CHANGED
android.intent.action.AIRPLANE_MODE
android.intent.action.BATTERY_CHANGED
android.intent.action.BATTERY_LOW
android.intent.action.BOOT_COMPLETED
android.intent.action.CAMERA_BUTTON
android.intent.action.CONFIGURATION_CHANGED
android.intent.action.DATA_SMS_RECEIVED
android.intent.action.DATE_CHANGED
android.intent.action.DEVICE_STORAGE_LOW
android.intent.action.DEVICE_STORAGE_OK
android.intent.action.GTALK_CONNECTED
android.intent.action.GTALK_DISCONNECTED
android.intent.action.HEADSET_PLUG
android.intent.action.INPUT_METHOD_CHANGED
android.intent.action.MANAGE_PACKAGE_STORAGE
android.intent.action.MEDIA_BAD_REMOVAL
android.intent.action.MEDIA_BUTTON
android.intent.action.MEDIA_CHECKING
android.intent.action.MEDIA_EJECT
android.intent.action.MEDIA_MOUNTED
android.intent.action.MEDIA_NOFS
android.intent.action.MEDIA_REMOVED
android.intent.action.MEDIA_SCANNER_FINISHED
android.intent.action.MEDIA_SCANNER_SCAN_FILE
android.intent.action.MEDIA_SCANNER_STARTED
android.intent.action.MEDIA_SHARED
android.intent.action.MEDIA_UNMOUNTABLE
android.intent.action.MEDIA_UNMOUNTED
android.intent.action.NEW_OUTGOING_CALL
android.intent.action.PACKAGE_ADDED
android.intent.action.PACKAGE_CHANGED
android.intent.action.PACKAGE_DATA_CLEARED
android.intent.action.PACKAGE_INSTALL
android.intent.action.PACKAGE_REMOVED
android.intent.action.PACKAGE_REPLACED
android.intent.action.PACKAGE_RESTARTED
android.intent.action.PHONE_STATE
android.intent.action.PROVIDER_CHANGED
android.intent.action.REBOOT
android.intent.action.SCREEN_OFF
android.intent.action.SCREEN_ON
android.intent.action.TIMEZONE_CHANGED
android.intent.action.TIME_SET
android.intent.action.TIME_TICK
android.intent.action.UID_REMOVED
android.intent.action.UMS_CONNECTED
android.intent.action.UMS_DISCONNECTED
android.intent.action.USER_PRESENT
android.intent.action.WALLPAPER_CHANGED
android.media.AUDIO_BECOMING_NOISY
android.media.RINGER_MODE_CHANGED
android.media.VIBRATE_SETTING_CHANGED
android.net.conn.BACKGROUND_DATA_SETTING_CHANGED
android.net.wifi.NETWORK_IDS_CHANGED
android.net.wifi.RSSI_CHANGED
android.net.wifi.SCAN_RESULTS
android.net.wifi.STATE_CHANGE
android.net.wifi.WIFI_STATE_CHANGED
android.net.wifi.supplicant.CONNECTION_CHANGE
android.net.wifi.supplicant.STATE_CHANGE
android.provider.Telephony.SIM_FULL
android.provider.Telephony.SMS_RECEIVED
android.provider.Telephony.WAP_PUSH_RECEIVED
com.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_CONNECTED
android.intent.action.ACTION_POWER_DISCONNECTED
android.intent.action.ACTION_SHUTDOWN
android.intent.action.BATTERY_OKAY
android.speech.tts.TTS_QUEUE_PROCESSING_COMPLETED
android.speech.tts.engine.TTS_DATA_INSTALLED
com.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_CHANGED
android.bluetooth.adapter.action.DISCOVERY_FINISHED
android.bluetooth.adapter.action.DISCOVERY_STARTED
android.bluetooth.adapter.action.LOCAL_NAME_CHANGED
android.bluetooth.adapter.action.SCAN_MODE_CHANGED
android.bluetooth.adapter.action.STATE_CHANGED
android.bluetooth.device.action.ACL_CONNECTED
android.bluetooth.device.action.ACL_DISCONNECTED
android.bluetooth.device.action.ACL_DISCONNECT_REQUESTED
android.bluetooth.device.action.BOND_STATE_CHANGED
android.bluetooth.device.action.CLASS_CHANGED
android.bluetooth.device.action.FOUND
android.bluetooth.device.action.NAME_CHANGED
android.bluetooth.devicepicker.action.DEVICE_SELECTED
android.bluetooth.devicepicker.action.LAUNCH
android.bluetooth.headset.action.AUDIO_STATE_CHANGED
android.bluetooth.headset.action.STATE_CHANGED

然后增加的有

Xml代码 复制代码

  1. android.intent.action.DOCK_EVENT  
  2. android.provider.Telephony.SMS_REJECTED 
android.intent.action.DOCK_EVENT
android.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_CHANGED
android.app.action.ACTION_PASSWORD_FAILED
android.app.action.ACTION_PASSWORD_SUCCEEDED
android.app.action.DEVICE_ADMIN_DISABLED
android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED
android.app.action.DEVICE_ADMIN_ENABLED
android.intent.action.EXTERNAL_APPLICATIONS_AVAILABLE
android.intent.action.EXTERNAL_APPLICATIONS_UNAVAILABLE
android.media.SCO_AUDIO_STATE_CHANGED
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值