activity app是否在最前端
2015-07-06 09:33
190 查看
protected static boolean isTopActivity(Activity activity) {
String myPacket = activity.getPackageName();
String packageName = myPacket ;// "com.example.testant";
ActivityManager activityManager = (ActivityManager) activity
.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> tasksInfo = activityManager.getRunningTasks(1);
if (tasksInfo.size() > 0) {
String topPacketName = tasksInfo.get(0).topActivity
.getPackageName();
Log.d("istop", "topPacketName==" + topPacketName);
// 应用程序位于堆栈的顶层
if (packageName.equals(topPacketName)) {
return true;
}
}
return false;
}
添加权限 <uses-permission android:name="android.permission.GET_TASKS" />
public static boolean isApplicationShowing(String packageName,
Context context) {
boolean result = false;
ActivityManager am = (ActivityManager) context
.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningAppProcessInfo> appProcesses = am.getRunningAppProcesses();
if (appProcesses != null) {
for (RunningAppProcessInfo runningAppProcessInfo : appProcesses) {
if (runningAppProcessInfo.processName.equals(packageName)) {
int status = runningAppProcessInfo.importance;
if (status == RunningAppProcessInfo.IMPORTANCE_VISIBLE
|| status == RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
result = true;
break;
}
}
}
}
return result;
}
String myPacket = activity.getPackageName();
String packageName = myPacket ;// "com.example.testant";
ActivityManager activityManager = (ActivityManager) activity
.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> tasksInfo = activityManager.getRunningTasks(1);
if (tasksInfo.size() > 0) {
String topPacketName = tasksInfo.get(0).topActivity
.getPackageName();
Log.d("istop", "topPacketName==" + topPacketName);
// 应用程序位于堆栈的顶层
if (packageName.equals(topPacketName)) {
return true;
}
}
return false;
}
添加权限 <uses-permission android:name="android.permission.GET_TASKS" />
public static boolean isApplicationShowing(String packageName,
Context context) {
boolean result = false;
ActivityManager am = (ActivityManager) context
.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningAppProcessInfo> appProcesses = am.getRunningAppProcesses();
if (appProcesses != null) {
for (RunningAppProcessInfo runningAppProcessInfo : appProcesses) {
if (runningAppProcessInfo.processName.equals(packageName)) {
int status = runningAppProcessInfo.importance;
if (status == RunningAppProcessInfo.IMPORTANCE_VISIBLE
|| status == RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
result = true;
break;
}
}
}
}
return result;
}
相关文章推荐
- 全志A31S(android 4.2/4.4)截屏
- Android 中的 Service 全面总结
- android真机调试 INSTALL_FAILED_MEDIA_UNAVAILABLE 问题解决方案
- Android Broadcast
- ios7 兼容之前版本
- 【iOS学习笔记】之block回调函数浅析
- [Objective-C] NSArray/NSDictionary/NSNumber 的语法糖
- iOS开发-ios7下拉刷新,上提加载快速集成
- android开发中屏幕适配问题
- Android WebView
- Android 增强版百分比布局库 为了适配而扩展
- Android 增强版百分比布局库 为了适配而扩展
- actionSheet报错的问题及解决方法
- 从设计到实现,一步步教你实现Android-Universal-ImageLoader-缓存
- ios警告框中加入其它控件的方法
- iOS开发笔记—— 获取音频的专辑图与视频的缩略图
- Unity即将到来的2D工具
- Android开发之GridView的Item放大缩小
- android 百分比控件的使用
- “System.Data.Entity.Internal.AppConfig"的类型初始值设定项引发异常。{转}