Android之后台服务判断本应用Activity是否处于栈顶
jopen
11年前
在Android开发中,我 们经常想知道是否自己的服务处于后台运行中,因为在后台运行的服务器优先级会降低,也就极有可能会被系统给回收掉,有什么好办法呢?Google推荐我们 将服务运行到前台,如何知道服务是否处于后台运行呢?可以通过获取堆栈信息中栈顶的Activity是否为本应用即可。
1。下面是关健部分代码:
(记得加上权限:<uses-permissionandroid:name="android.permission.GET_TASKS"/>)
mPackageName为本应用包名,mActivityManager为Activity管理对象
mActivityManager = ((ActivityManager) getSystemService(Context.ACTIVITY_SERVICE));
mPackageName = getPackageName();