Android 判断app是否在前台运行】的更多相关文章

原文地址: http://blog.csdn.net/zuolongsnail/article/details/8168689 Android开发中,有时候需要判断App是否在前台运行. 代码实现如下: private boolean isRunningForeground (Context context) { ActivityManager am = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE); Co…
版权声明:本文为博主原创文章,未经博主允许不得转载. //当前应用是否处于前台 private boolean isForeground(Context context) { if (context != null) { ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningAppProc…
<!-- 前台还是后台 --> <uses-permission android:name="android.permission.GET_TASKS" /> private boolean isForeground(Context context) { ActivityManager am = (ActivityManager) context .getSystemService(Context.ACTIVITY_SERVICE); ComponentName…
在一些场景中,经常会需要判断App是否在后台运行,比如是否显示解锁界面,收到新消息是否显示Notification等.需求可能是多样化的,但所依仗的原理是相通的,今天Stay打算说说这些需求的最优解. 当然,Stay肯定不会说去for loop判断当前runningProcess或者runningTasks.比如: 这样 或者这样 这种方法调用起来感觉就像是在用Windows系统里的任务管理器,真是让人蛋疼.我们暂且不去计较性能问题,就说为啥Android连个像样的API都不给我,着实让人郁闷.…
在一些场景下我们需要知道应用是否在前台显示,当不在前台显示的时候,一些后台进程可以暂时停止,比如一些查询任务.不必要的线程.不需要的渲染等,以减少对设备资源的占用.判断应用是否在前台通常可以使用一下方式: ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE); List<RunningTaskInfo> runnings = am.getRunningTasks(Integer.MAX_VALUE);…
public void checkAppState() { ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE); String[] activePackages; if (Build.VERSION.SDK_INT > Build.VERSION_CODES.KITKAT_WATCH) { activePackages = getActivePackages(am); } else { activeP…
1.通过RunningTaskInfo类判断(需要额外权限): 复制代码代码如下: /** *判断当前应用程序处于前台还是后台 */ public static boolean isApplicationBroughtToBackground(final Context context) { ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); List<Running…
//开启震动 //添加权限<uses-permission android:name="android.permission.VIBRATE" /> private void openVib() { /* * 想设置震动大小可以通过改变pattern来设定,如果开启时间太短,震动效果可能感觉不到 * */ vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE); long[] pattern = {100, 1000…
利用应用程序设置来实现此功能. 1.首先,获取APP设置的容器: ApplicationDataContainer localSettings = ApplicationData.Current.LocalSettings; 由于获取容器的时候并没有给key为FirestStart的赋值,所以下面就直接判断是不是为null,为null就是第一次运行APP, 然后在else里给key为FirestStart的赋值,那么else的代码就只能执行一次了.当然以后在UI上可以添加一个switchButt…
/** * 判断某个界面是否在前台 * * @param context * @param className 某个界面名称 * */ public static boolean isActivityForeground(Context context, String className) { if (context == null || TextUtils.isEmpty(className)) { return false; } ActivityManager am = (ActivityM…