博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 推断当前Activity是不是最后一个Activity 以及 应用或Activity是否存在
阅读量:7213 次
发布时间:2019-06-29

本文共 1127 字,大约阅读时间需要 3 分钟。

推断当前Activity是最后一个Activity:

在Activity的方法中, 有一个方法isTaskRoot()方法, 这种方法能够推断当前Activity是否是最后一个Activity, 假设是, 用户再按一次返回键就退出应用, 否则回到上一个仍然活动的Activity;

代码例如以下:

@Override	public void onBackPressed() {		if (isTaskRoot()) {			Toast.makeText(mContext, "当前activity是该应用唯一,一个存活的activity", 0).show();		}else {			Toast.makeText(mContext, "当前activity不是是该应用唯一,存活的activity", 0).show();		}		super.onBackPressed();	}

推断应用或Activity是否存在:

一、依据包名推断应用是否存在

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
  }

转载地址:http://jbrum.baihongyu.com/

你可能感兴趣的文章
js判断字符串中某个字母出现次数最多
查看>>
360项目-13
查看>>
ssh免密码登录
查看>>
Linux简介
查看>>
Android中通过来电转移实现“电话已关机”,“此号码已停机”等
查看>>
解决不产生nohup.out文件方法
查看>>
ambiguous package name 'libglib2.0-0' with more than one installed instance
查看>>
linux检测端口是否开放的3种命令
查看>>
Android应用开发系列课程------ViewPager与ViewFlipper较量
查看>>
iOS oc 线程 进程,同步异步,并发串行,来捋捋
查看>>
指令之scp
查看>>
Oracle 之instant client
查看>>
练习题1
查看>>
CentOS下调整VolGroup-lv_root分区大小
查看>>
我的友情链接
查看>>
Dvsdk 下的CMEM学习
查看>>
苏宁智慧家庭助跑智慧零售
查看>>
车联网发展对汽车经销商的影响
查看>>
H3C-5500 做的VRRP
查看>>
我的友情链接
查看>>