broadcastreceiver – 访问Broadcast Receiver中的应用程序类
作者:互联网
我想在广播接收器中检查互联网连接;并将结果(一个布尔标志)设置为全局变量,以便在整个应用程序中使用它,如果条件;如果互联网断开连接,请在主活动中将状态图像视图设置为红色图像,如果已连接,则将其设置为绿色.
我跟着this话题.但广播接收器中没有getApplication();而且我应该使用getApplicationContext()代替.
另一方面,this主题:
when writing code in a broadcast receiver, which is not a context but
is given a context in its onReceive method, you can only call
getApplicationContext(). Which also means that you are not guaranteed
to have access to your application in a BroadcastReceiver.
>有什么顾虑?
>如何在广播Receiver中访问我的应用程序类?
>有没有更好的解决方案来检查互联网连接,设置全局变量和更改我的状态imageview?
解决方法:
您可以使用其上下文访问BroadCastReceiver中的Application类,
@Override
public void onReceive(final Context context, Intent intent) {
MyApplication mApplication = ((MyApplication)context.getApplicationContext());
}
标签:android-broadcast,android,broadcastreceiver,android-lifecycle 来源: https://codeday.me/bug/20191006/1858097.html