Android:访问通知栏后加载活动

时间:2015-11-19 14:58:54

标签: android android-notifications

如果没有互联网意味着我无法加载网络资源。出于这个原因,我正在给像“检查互联网连接”这样的祝酒词。在此吐司之后,用户可以在通知栏上启用互联网选项并返回。当他回来时,我想重新加载活动。对于这个要求,我试过

onWindowFocusChanged and onActivityReenter

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

mycode的

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

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

2 个答案:

答案 0 :(得分:0)

我知道有一种解决方案并不完美,但它会起作用。 定义一个可验证的活动级别

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;
    }
}

检查并告诉我这是否有效。

答案 1 :(得分:0)

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

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

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