您的位置:首页 > 移动开发

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

2016-05-30 17:31 405 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: