android 菜鸟问题。如何监听某应用当前正在与用户交互
注意:是应用,不是activity.
在activity里。只需要重写onresume(). 就可以知道当前activity正在与用户交互。
但是对于应用呢?意思就是说:我想要在整个应用监听,监听用户是否正在使用此应用。
因为一个应用里有N个Activity,我不可能在每个activity里的onresume函数里写监听的。当用户在使用应用的时候,跳到某个Activity A里去了。但是不小心按了home键,然后再点击进入应用,回到那个Activity A, 但是不想在Activity A里写onresume(). 因为有可能用户不一定是在Activity A里退出的,有可能是其他Aitivity. 所以不可能在所有的Activity都重写一个Onresume函数的。所以看下有没有办法在整个应用里监听。
注意:是应用,不是activity.
在activity里。只需要重写onresume(). 就可以知道当前activity正在与用户交互。
但是对于应用呢?意思就是说:我想要在整个应用监听,监听用户是否正在使用此应用。
因为一个应用里有N个Activity,我不可能在每个activity里的onresume函数里写监听的。当用户在使用应用的时候,跳到某个Activity A里去了。但是不小心按了home键,然后再点击进入应用,回到那个Activity A, 但是不想在Activity A里写onresume(). 因为有可能用户不一定是在Activity A里退出的,有可能是其他Aitivity. 所以不可能在所有的Activity都重写一个Onresume函数的。所以看下有没有办法在整个应用里监听。
实现起来很简单,弄个定时器去检测当前与用户交互的应用,不过有点耗电
public static String getCurrentPk(Context context){
// 当前正在运行的应用的包名
ActivityManager am = (ActivityManager) context.getSystemService("activity");
String currentrunningpk = am.getRunningTasks(1).get(0).topActivity.getPackageName();
return currentrunningpk;
}