无论登录/注销状态如何,在每个规定的不活动时间后如何停止显示警报对话框

欧内斯特·李

我遇到的问题是,每隔2分钟,警报对话框就会不断出现;无论登录/注销状态如何。

如果用户已登录,则将在2分钟后显示警告对话框,并且由于不活动而将用户注销,并且该用户将被重定向到登录页面(正确功能)。但是,当用户最初未登录时(错误功能),警报对话框仍会在2分钟后显示。

因此,当用户未登录时,如何确保AlertDialog在规定的不活动时间后不显示?

以下是相关的代码段:

检查无效性的方法:

//METHOD USED FOR INACTIVITY LOGOUT
//EMPLOY THE HANDLER METHOD FOR OCCURANCE OF FUTURE FUNCTION: DISCONNECTHANDLER
public static class MyBaseActivity extends Activity {

    public static Handler disconnectHandler = new Handler(){
        public void handleMessage(Message msg){ 
        }
    };  
}

private Runnable disconnectCallback= new Runnable(){
    @Override
    public void run(){
        //Get the Resume Time & get difference in Time for Logout
        long endTime= System.currentTimeMillis();
        Log.i("RootActivity:Runnabe()","******endTime=******"+endTime);
        long diff = endTime - startTime;
        long secInt = (diff /1000); //conversion of milliseconds into seconds
        Log.i("RootActivity:onRun()","******sectInt=******"+secInt);
        if (secInt > Inactivity_Timeout){// SET EXIT SCREEN INTERVAL LOGOUT
        IdleLogout();
        }   
    }
};

登出方法:

//LOGOUT METHOD & CLEARING OF SHARED PREFERENCE CREDENTIALS
public void IdleLogout(){
    Log.i("RootActivity:IdleLogout()","******APP LOGGEDOUT******");
    SharedPreferences pref = getSharedPreferences(getString(R.string.pref_current_user), MODE_PRIVATE);             
    SharedPreferences.Editor editor = pref.edit();
    editor.clear();     // CLEAR ALL FILEDS
    editor.commit();    // COMMIT CHANGES
    Log.i("RootActivity:IdleLogout()","******loginButton is set******");
    setloginButton();   // Change logout button to login
    RootActivity.alertDialog(RootActivity.this,getCustomIntent(RewardsActivity.class)).create().show();
}

调用警报对话框的方法:

static Builder alertDialog(final Activity act,final Intent yourintent){
    Log.i("RootActivity:alertDialog","******Session Logout Info******");
    AlertDialog.Builder alertDialog = new AlertDialog.Builder(act);
    alertDialog.setTitle("SESSION LOGOUT NOTICE");
    alertDialog.setMessage("You Have Been Logged Out Due To Inactivity." +
            "Please Login To Access Your Profile.");
    alertDialog.setCancelable(false);
    //SETTING OF OK BUTTON
    alertDialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            Intent intent = new Intent(Intent.ACTION_VIEW);
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            act.startActivity(yourintent);//Return page to PROPERTYACTIVITY
            }
   }); return alertDialog;
}

检查用户是否已登录的方法:

  public void checkLogin(){
//CONDITION TO CHECK IF USER IS LOGIN, IF TRUE, CALL METHOD IdleLogout()
    if(getSharedPreferences(getString(R.string.pref_current_user), MODE_PRIVATE).getString(
    getString(R.string.pref_password), "") != ""){
        IdleLogout();
    }return;
}
阿尼鲁达(Aniruddha)

IdleLogout()拨打电话时,请检查是否存在凭据disconnectCallback如果存在凭据,则仅致电IdleLogout(),否则不致电如果我正确理解了您的代码,那么它将停止弹出警报对话框

private Runnable disconnectCallback= new Runnable(){
    @Override 
    public void run(){ 
        //Get the Resume Time & get difference in Time for Logout 
        long endTime= System.currentTimeMillis(); 
        Log.i("RootActivity:Runnabe()","******endTime=******"+endTime); 
        long diff = endTime - startTime; 
        long secInt = (diff /1000); //conversion of milliseconds into seconds 
        Log.i("RootActivity:onRun()","******sectInt=******"+secInt); 
        if (secInt > Inactivity_Timeout){// SET EXIT SCREEN INTERVAL LOGOUT 
         if(getSharedPreferences(getString(R.string.pref_current_user), MODE_PRIVATE).getString(
        getString(R.string.pref_password), "") != ""){
            IdleLogout(); 
           } 
        }    
    } 
}; 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在应用程序android中的任何活动之上显示警报对话框

来自分类Dev

如何在应用程序android中的任何活动之上显示警报对话框

来自分类Dev

单击“按钮”后,在打开新活动之前显示警报对话框

来自分类Dev

单击“按钮”后,在打开新活动之前显示警报对话框

来自分类Dev

单击按钮后无法显示警报对话框

来自分类Dev

如果目标操作失败,如何在按钮中显示警报对话框

来自分类Dev

选中多个复选框时如何显示警报对话框

来自分类Dev

如果目标操作失败,如何在按钮中显示警报对话框

来自分类Dev

单击图像按钮时如何显示警报对话框(带有“确定”按钮)?

来自分类Dev

如何随时在高频实时卡上显示警报对话框?

来自分类Dev

如何使用AsynctTask在正在运行的线程中显示警报对话框?

来自分类Dev

如何在点击正按钮时重复显示警报对话框?

来自分类Dev

在任何活动中从后台进程显示警报对话框

来自分类Dev

如何使用UI本地时间格式从10.pm到9.am禁用按钮并显示警报对话框

来自分类Dev

一段时间不活动后显示一个对话框

来自分类Dev

Flutter&AlertDialog:加载后我的应用程序不显示警报对话框

来自分类Dev

仅在闪屏后显示警报对话框一次

来自分类Dev

在关闭对话框时,UploadCare不显示警报

来自分类Dev

在Chrome扩展程序中显示警报对话框

来自分类Dev

没有显示警报对话框

来自分类Dev

在Chrome扩展程序中显示警报对话框

来自分类Dev

通过按钮android显示警报对话框

来自分类Dev

计算数字并显示警报对话框

来自分类Dev

单击链接后如何显示警报框

来自分类Dev

进度对话框中的“显示警报”对话框已完成android

来自分类Dev

如何设置警报对话框以正确显示?

来自分类Dev

如何设置警报对话框以正确显示?

来自分类Dev

如何从ListView项目单击事件显示的对话框中的每个肯定按钮启动不同的活动

来自分类Dev

放松警戒后显示警报会停止警戒。完成放样后,如何确保显示警报?

Related 相关文章

  1. 1

    如何在应用程序android中的任何活动之上显示警报对话框

  2. 2

    如何在应用程序android中的任何活动之上显示警报对话框

  3. 3

    单击“按钮”后,在打开新活动之前显示警报对话框

  4. 4

    单击“按钮”后,在打开新活动之前显示警报对话框

  5. 5

    单击按钮后无法显示警报对话框

  6. 6

    如果目标操作失败,如何在按钮中显示警报对话框

  7. 7

    选中多个复选框时如何显示警报对话框

  8. 8

    如果目标操作失败,如何在按钮中显示警报对话框

  9. 9

    单击图像按钮时如何显示警报对话框(带有“确定”按钮)?

  10. 10

    如何随时在高频实时卡上显示警报对话框?

  11. 11

    如何使用AsynctTask在正在运行的线程中显示警报对话框?

  12. 12

    如何在点击正按钮时重复显示警报对话框?

  13. 13

    在任何活动中从后台进程显示警报对话框

  14. 14

    如何使用UI本地时间格式从10.pm到9.am禁用按钮并显示警报对话框

  15. 15

    一段时间不活动后显示一个对话框

  16. 16

    Flutter&AlertDialog:加载后我的应用程序不显示警报对话框

  17. 17

    仅在闪屏后显示警报对话框一次

  18. 18

    在关闭对话框时,UploadCare不显示警报

  19. 19

    在Chrome扩展程序中显示警报对话框

  20. 20

    没有显示警报对话框

  21. 21

    在Chrome扩展程序中显示警报对话框

  22. 22

    通过按钮android显示警报对话框

  23. 23

    计算数字并显示警报对话框

  24. 24

    单击链接后如何显示警报框

  25. 25

    进度对话框中的“显示警报”对话框已完成android

  26. 26

    如何设置警报对话框以正确显示?

  27. 27

    如何设置警报对话框以正确显示?

  28. 28

    如何从ListView项目单击事件显示的对话框中的每个肯定按钮启动不同的活动

  29. 29

    放松警戒后显示警报会停止警戒。完成放样后,如何确保显示警报?

热门标签

归档