Android前后台判断总是前台问题解决办法
来源:互联网 发布:软件测试员要求 编辑:程序博客网 时间:2024/06/06 18:35
也许这不是你程序的问题,是判断应用当前状态的方法有问题
You can detect currently foreground/background application with ActivityManager.getRunningAppProcesses()
which returns a list of RunningAppProcessInfo records. To determine if your application is on the foreground checkRunningAppProcessInfo.importance field
for equality to RunningAppProcessInfo.IMPORTANCE_FOREGROUND
whileRunningAppProcessInfo.processName
is equal to your application package name.
Also if you call ActivityManager.getRunningAppProcesses() from your application UI thread
it will return importance IMPORTANCE_FOREGROUND for your task no matter whether it is actually in the foreground or not. Call it in thebackground thread
(for example via AsyncTask) and it will return correct results.
详细代码:
class ForegroundCheckTask extends AsyncTask<Context, Void, Boolean> { @Override protected Boolean doInBackground(Context... params) { final Context context = params[0].getApplicationContext(); return isAppOnForeground(context); } private boolean isAppOnForeground(Context context) { ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses(); if (appProcesses == null) { return false; } final String packageName = context.getPackageName(); for (ActivityManager.RunningAppProcessInfo appProcess : appProcesses) { if (appProcess.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND && appProcess.processName.equals(packageName)) { return true; } } return false; }}
- Android前后台判断总是前台问题解决办法
- Android 前后台判断
- Android前后台判断
- Android 判断程序前后台
- Android判断前后台状态
- android app前后台判断
- android 应用前后台判断
- Android 判断程序前后台状态
- Android 判断程序前后台状态
- android间接实现前后台判断
- Android之判断前后台运行
- Android判断程序前后台状态
- Android应用前后台切换的判断
- Android 判断应用处于前后台
- android判断app前后台状态
- Android:应用前后台切换判断
- Android应用前后台切换的判断
- Android 判断App前后台运行状态
- 九九乘法表
- const 理解分析
- 栈的应用(略)
- Java转换Unix时间戳方法
- ubuntu显卡安装后循环登陆的解决办法
- Android前后台判断总是前台问题解决办法
- linux-ubuntu安装(vmware虚拟机)
- Java消息队列--ActiveMq
- n个楼梯,一次可以走1个,2个,,,n个楼梯,打印所有走法
- UVa 10305 Ordering Tasks(拓扑排序)
- 详细资料 telnet命令使用方法详解-telnet命令怎么用-win7没有telent怎么办
- java,android面试题
- centos7 升级openssh7.5 操作
- java.util包