读书人

怎么监听整个应用重新回到主界面

发布时间: 2013-09-07 14:12:45 作者: rapoo

如何监听整个应用重新回到主界面
因为我要做个手势密码,类似于新版QQ有的这个功能。
问题来了:
不管我是哪个activity,当我手机切换到主界面,或者打开其他应用的时候。再返回回我的app。这个事件如何获取?
[解决办法]
让他们统一继承一个A类 A类继承ACtivity A类里面就实现一个 这个 onresume 和onpause的操作 这样是否可以解决呢?

虽然 onresume 和onpause 不是一个完整的过程,但是无论你怎么启动应用 怎么退出应用都要走这两步的。
[解决办法]
写一个基类的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;
}

读书人网 >Android

热点推荐