编程语言
首页 > 编程语言> > broadcastreceiver – 访问Broadcast Receiver中的应用程序类

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