Android APP 进入后台开启手势密码页面

来源:互联网 发布:java猜字母游戏 编辑:程序博客网 时间:2024/06/06 05:33

Android APP 进入后台开启手势密码页面

 


在baseactivity中  onstop() 里 判断是否处于后台  代码为

if (isBackground(mContext)) {//进入手势密码页    Intent i = new Intent(mContext,            LockActivity.class);    startActivity(i);}

public static boolean isBackground(Context context) {    ActivityManager activityManager = (ActivityManager) context            .getSystemService(Context.ACTIVITY_SERVICE);    List<ActivityManager.RunningAppProcessInfo> appProcesses = activityManager            .getRunningAppProcesses();    for (ActivityManager.RunningAppProcessInfo appProcess : appProcesses) {        if (appProcess.processName.equals(context.getPackageName())) {            Log.i(context.getPackageName(), "此appimportace ="                    + appProcess.importance                    + ",context.getClass().getName()="                    + context.getClass().getName());            if (appProcess.importance != ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {                Log.i(context.getPackageName(), "处于后台"                        + appProcess.processName);                return true;            } else {                Log.i(context.getPackageName(), "处于前台"                        + appProcess.processName);                return false;            }        }    }    return false;}

遇到的问题:

1、手势密码页 多次打开 可设置此activity启动模式为singletop

2、业务需要 在某个特定页面内无需跳到手势密码页  可在onstop方法 加个判断 当前上下文 context instansof 某activity

3、程序正常退出时,发现仍会跳到手势密码页  解决方法:在跳转前判断APP 存放activity的栈或集合的size()>0


0 0