我有一段代码,我正在从服务中调用:
context.registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
try {
WifiManager mWm = (WifiManager) context
.getSystemService(Context.WIFI_SERVICE);
ret = mWm.isWifiEnabled();
// DO MORE STUFF HERE
} catch (Exception e) {
}
}
}, new IntentFilter(WifiManager.WIFI_STATE_CHANGED_ACTION));
Run Code Online (Sandbox Code Playgroud)
我想要的是一种检查并确保registerReceiver在再次调用它之前尚未监听的方法.这可能吗?
例如,如果我的代码片段在方法中,并且我调用该方法10次,那么此onReceive方法似乎运行10次.
Chr*_*Orr 14
没有找到方法 - 你应该只打电话registerReceiver一次,很可能是在你的服务创建时.
你需要BroadcastReceiver在你打电话时保留一个参考unregisterService(这onDestroy()是它的自然场所),否则系统会警告你泄漏广播接收器并生气并可能对你大喊大叫.
| 归档时间: |
|
| 查看次数: |
9567 次 |
| 最近记录: |