Android:进入通知栏后加载activity

Android: Load the activity after accessing the notification bar

如果没有互联网意味着我无法加载网络资源。为此,我举杯祝酒 "Check internet connectivity"。在此敬酒之后,用户可以在通知栏启用互联网选项并返回。当他回来时,我想重新加载 activity。对于这个要求,我尝试了

onWindowFocusChanged and onActivityReenter

覆盖方法,但这些方法无法正常工作

MyCode

public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);
    if(hasFocus){
            Intent intent = new Intent(CommonActivity.this, OtherActivity.class);
            startActivity(intent);  
    }
}

当我使用上面的代码时,我的 activity 一次又一次地重新加载

我知道有一个解决方案并不完美,但它会起作用。 像这样定义一个 activity 级别验证

Boolean isAlreadyFocused = false;

然后在你的 onFocusChanged 方法中这样做。

public void onWindowFocusChanged(boolean hasFocus) {
   super.onWindowFocusChanged(hasFocus);
    if(hasFocus && !isAlreadyFocused ){
        isAlreadyFocused = true;
        Intent intent = new Intent(CommonActivity.this,OtherActivity.class);
        startActivity(intent);  
  }else{
     isAlreadyFocused = false;
    }
}

检查一下,如果不行就告诉我。

通过另一种方式(当我看到 flipkart 应用程序时我有了这个想法)我解决了这个互联网检查

  1. 我正在检查互联网连接,如果没有互联网意味着我正在重定向到设计看起来像
  2. 的 NoInternetActivity

  1. 当用户点击“重试”按钮时,意味着我正在再次检查互联网。如果可以访问互联网意味着我允许用户访问我的应用程序的主页,否则我将再次重定向到 NoInternetActivity