Android 判断某一个类是否存在任务栈里面
来源:互联网 发布:淘宝消保30元加入条件 编辑:程序博客网 时间:2024/06/17 16:05
在开发项目的时候,我们经常会遇到一些问题,除了设置一些Activity的启动模式之外,好需要得到这个类是否被启动过,判断某一个类是否存在任务栈里面这个时候,我们就可以用到下面的方法:
另外还有:
/** * 判断某一个类是否存在任务栈里面 * @return */ private boolean isExsitMianActivity(Class<?> cls){ Intent intent = new Intent(this, cls); ComponentName cmpName = intent.resolveActivity(getPackageManager()); boolean flag = false; if (cmpName != null) { // 说明系统中存在这个activity ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE); List<RunningTaskInfo> taskInfoList = am.getRunningTasks(10); for (RunningTaskInfo taskInfo : taskInfoList) { if (taskInfo.baseActivity.equals(cmpName)) { // 说明它已经启动了 flag = true; break; //跳出循环,优化效率 } } } return flag; } /** * 进行逻辑处理 */ public void dealWithIntent(){ if(isExsitMianActivity(MainActivity.class)){//存在这个类 //进行操作 }else{//不存在这个类 //进行操作 } }
另外还有:
一、根据包名判断应用是否存在
public boolean checkApplication(String packageName) { if (packageName == null || "".equals(packageName)){ return false; } try { ApplicationInfo info = getPackageManager().getApplicationInfo(packageName, PackageManager.GET_UNINSTALLED_PACKAGES); return true; } catch (NameNotFoundException e) { return false; }}
二、判断Activity是否存在
Intent intent = new Intent(); intent.setClassName("包名", "类名");
方法一:
if (getPackageManager().resolveActivity(intent, 0) == null) { // 说明系统中不存在这个activity }
方法二:
if(intent.resolveActivity(getPackageManager()) == null) { // 说明系统中不存在这个activity }
方法三:
List<ResolveInfo> list = getPackageManager().queryIntentActivities(intent, 0); if (list.size() == 0) { // 说明系统中不存在这个activity }
是不是很简单,么么哒。
0 1
- Android 判断某一个类是否存在任务栈里面
- Android 判断SQLite数据库中是否存在某一个表格
- oracle 判断某一个存储是否存在
- List判断里面是否有某一个值
- Android 判断SQLite数据库中是否存在某一个表格: CREATE TABLE IF NOT EXISTS
- Android 判断当前手机中是否存在某一个action可以启动。
- Mysql中判断表中的某一个字段是否存在
- 判断某一个路径下某个资源文件是否存在
- C语言判断当前某一个进程是否存在
- php中判断mysql数据库中某一个数据库是否存在
- OC中关于NSFileManager判断是否存在某一个文件
- 同表两个字段二选一查询mysql中如何判断某一个字段是否存在某一个值
- android判断是否存在网络
- Android判断应用是否存在
- android判断程序是否存在
- android判断文件是否存在
- Android判断应用是否存在
- Android 判断Intent是否存在
- 心脏滴血另类玩法-转自lijiejie
- 算法---出现次数超过一半
- uitableview中刷新单个section和row
- IOS Protocol与Delegate详解(一)
- OpenGL ES Emulator比较
- Android 判断某一个类是否存在任务栈里面
- Java - How Class is loaded and initialized
- django 实现 group by
- WEB前端网页返回代码常见值
- Android 百分比布局库(percent-support-lib) 解析与扩展
- Spring2.5学习4.1_AOP
- VS2012 加载工程失败PACKAGE “VISUAL C++ PACKAGE” FAILED TO LOAD
- strotol用法
- Summary Ranges