我正在创建一个应用程序,它将向我发送各种操作的事件, 我已经在单一类中添加了波纹管事件,这种事件非常有效。
<receiver android:name=".activity.SettingsEventReceiver" >
<intent-filter>
<!--*************Bluetooth*********************-->
<action android:name="android.bluetooth.adapter.action.STATE_CHANGED" />
<!--*************Hotspot*********************-->
<action android:name="android.net.wifi.WIFI_AP_STATE_CHANGED" />
<!--*************AirplaneMode*********************-->
<action android:name="android.intent.action.AIRPLANE_MODE"/>
<!--*************VolumeChange*********************-->
<action android:name="android.media.VOLUME_CHANGED_ACTION" />
<!--*************ChargingSettings*********************-->
<action android:name="android.intent.action.ACTION_POWER_CONNECTED" />
<action android:name="android.intent.action.ACTION_POWER_DISCONNECTED" />
<!--*************Sim status changed Event*********************-->
<action android:name="android.intent.action.SIM_STATE_CHANGED" />
<!--*************Reboot Event*********************-->
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<category android:name="android.intent.category.DEFAULT" />
<action android:name="android.intent.action.QUICKBOOT_POWERON"/>
</intent-filter>
</receiver>
但每当我添加下面的动作时,我都不会收到单个事件
<!--*************Install/Uninstall Event*********************-->
<action android:name="android.intent.action.PACKAGE_ADDED"/>
<action android:name="android.intent.action.PACKAGE_REMOVED"/>
<action android:name="android.intent.action.PACKAGE_FIRST_LAUNCH"/>
<data android:scheme="package" />
我如何克服这个问题? 请帮忙
答案 0 :(得分:1)
将<data>
元素添加到<intent-filter>
时,您只会获得与该<data>
元素匹配的广播事件。您列出的大多数广播Intent
都不包含任何数据。
您可以指定多个<intent-filter>
,如下所示:
<receiver android:name=".activity.SettingsEventReceiver" >
<intent-filter>
<!--*************Bluetooth*********************-->
<action android:name="android.bluetooth.adapter.action.STATE_CHANGED" />
<!--*************Hotspot*********************-->
<action android:name="android.net.wifi.WIFI_AP_STATE_CHANGED" />
<!--*************AirplaneMode*********************-->
<action android:name="android.intent.action.AIRPLANE_MODE"/>
<!--*************VolumeChange*********************-->
<action android:name="android.media.VOLUME_CHANGED_ACTION" />
<!--*************ChargingSettings*********************-->
<action android:name="android.intent.action.ACTION_POWER_CONNECTED" />
<action android:name="android.intent.action.ACTION_POWER_DISCONNECTED" />
<!--*************Sim status changed Event*********************-->
<action android:name="android.intent.action.SIM_STATE_CHANGED" />
<!--*************Reboot Event*********************-->
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<category android:name="android.intent.category.DEFAULT" />
<action android:name="android.intent.action.QUICKBOOT_POWERON"/>
</intent-filter>
<intent-filter>
<!--*************Install/Uninstall Event*********************-->
<action android:name="android.intent.action.PACKAGE_ADDED"/>
<action android:name="android.intent.action.PACKAGE_REMOVED"/>
<action android:name="android.intent.action.PACKAGE_FIRST_LAUNCH"/>
<data android:scheme="package" />
</intent-filter>
</receiver>