Tag: android broadcastreceiver

android – “导出的接收器不需要许可”的接收器意图从系统服务接收

我在AndroidManifest中声明了一些接收器: <!– no warning –> <receiver android:name=".receivers.TriggerMonitoringBootReceiver" android:enabled="false"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> </intent-filter> </receiver> <!– no warning –> <receiver android:name=".receivers.ScanResultsReceiver" android:enabled="false"> <intent-filter> <action android:name="android.net.wifi.SCAN_RESULTS" /> </intent-filter> </receiver> <!– warning : Exported receiver does not require permission–> <receiver android:name=".receivers.BatteryMonitoringReceiver" android:enabled="false"> <intent-filter> <action android:name="@string/intent_action_setup_alarm" /> <action android:name="@string/intent_action_cancel_alarm" /> <action android:name="@string/intent_action_monitor" /> </intent-filter> </receiver> 第一个是为了接收一个BOOT_COMPLETED动作。 第二个意思是接收android.net.wifi.SCAN_RESULTS 。 第三个是为了接收我广播的一些动作(intent_action_monitor)和一些由AlarmManager […]

CONNECTIVITY_ACTION意图在WiFi连接时收到两次

在我的应用程序中,我有一个BroadcastReceiver ,通过<receiver>标记作为组件启动,过滤android.net.conn.CONNECTIVITY_CHANGE意图。 我的目标是简单地知道什么时候build立了Wifi连接,所以我在onReceive()做的是这样的: NetworkInfo networkInfo = intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO); if(networkInfo.getType() == ConnectivityManager.TYPE_WIFI && networkInfo.isConnected()) { // Wifi is connected } 它工作正常,但我似乎总是在build立一个Wifi连接约一秒钟之内得到两个相同的意图。 我试图查看任何信息,我可以从意图, ConnectivityManager和WifiManager ,但我找不到任何区别两个意图。 查看日志,至less有一个其他BroadcastReceiver也收到两个相同的意图。 它运行在Android 2.2的HTC Desire上 任何想法,为什么我似乎得到一个“重复”的意图,当Wifi连接或两者之间的差异可能是什么?

如何检查Receiver是否在Android中注册?

我需要检查我的注册接收者是否仍然注册,如果不是我如何检查任何方法?