因为我要做个手势密码,类似于新版QQ有的这个功能。
问题来了:
不管我是哪个activity,当我手机切换到主界面,或者打开其他应用的时候。再返回回我的app。这个事件如何获取?
问题来了:
不管我是哪个activity,当我手机切换到主界面,或者打开其他应用的时候。再返回回我的app。这个事件如何获取?
解决方案 »
- Android自己定义锁频控制程序,有个Bug急,系统默认的锁屏界面进不去了
- 求助在下一个定时启动的时候先关掉显示的activity,然后再启动他
- android如何读取大的txt文本
- Android下getSystemService与getService的联系与区别?
- Android有这样的__FILE__, __FUNCTION__, __LINE__?
- singleTask 与 FLAGS_ACTIVITY_NEW_TASK 的区别
- 虚拟机打开不了,求大神!
- 关于viewgroup触屏事件传递的问题
- 求助jni 加载so库的问题
- 新手片段嵌套求指导
- 用安卓谷歌地图API的疑惑
- 安卓增量更新的问题
activity的pause到resume,不一定是整个应用被切出去了啊。而且,需要每个activity里都去加,不是很麻烦嘛?这个应该想办法在application下手吧
activity的pause到resume,不一定是整个应用被切出去了啊。而且,需要每个activity里都去加,不是很麻烦嘛?这个应该想办法在application下手吧sorry 请忽略上面的回答。我没有考虑到你内部多个activity切换的情况
activity的pause到resume,不一定是整个应用被切出去了啊。而且,需要每个activity里都去加,不是很麻烦嘛?这个应该想办法在application下手吧sorry 请忽略上面的回答。我没有考虑到你内部多个activity切换的情况嗯,在给想想其他好办法
ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
ComponentName componentName = activityManager.getRunningTasks(2).get(1).topActivity;
获取当前活动activity,没试过不知都行不行
在onStop()里判断整个应用是不是在手机前台。然后记录标志位flag
在onResume()里根据标志位决定是不是开启手势密码。复位标志位flag检查应用是否在前台运行代码如下:
public boolean isAppOnForeground() {
// Returns a list of application processes that are running on the
// device ActivityManager activityManager = (ActivityManager) getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE);
String packageName = getApplicationContext().getPackageName(); List<RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();
if (appProcesses == null)
return false; for (RunningAppProcessInfo appProcess : appProcesses) {
// The name of the process that this object is associated with.
if (appProcess.processName.equals(packageName) && appProcess.importance == RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
return true;
}
} return false;
}