Kar*_*lam 38 android broadcastreceiver
我试图用一个BroadcastReceiver作为一个内部类来跟踪网络状态,但我得到了标题中的例外.我该怎么做才能解决这个问题?
public class NetworkChangeReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
final ConnectivityManager connMgr = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
final android.net.NetworkInfo wifi = connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
final android.net.NetworkInfo mobile = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if (wifi.isAvailable() || mobile.isAvailable()) {
setupData();
Log.d("Netowk Available ", "Flag No 1");
}
}
}
Run Code Online (Sandbox Code Playgroud)
Ajj*_*jji 100
您的
内部广播接收器必须是静态的(通过Manifest注册)
要么
非静态广播接收器必须在Parent类内注册和注销
为了这.
我使用的是内置广播接收器,没有在课堂上注册它.要么将其设置为静态并在Manifest中注册,要么将其设置为非静态,并在父类中注册和取消注册.
Meh*_*t K 16
非静态内部类不能通过注册AndroidManifest.xml.你可以:
按照此线程中的概述动态注册它,并删除空构造函数.
要么,
使你的内部类静态,并在其中注册AndroidManifext.xml.
| 归档时间: |
|
| 查看次数: |
46038 次 |
| 最近记录: |