zoukankan      html  css  js  c++  java
  • Android 推断当前Activity是不是最后一个Activity 以及 应用或Activity是否存在

    推断当前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
      }



  • 相关阅读:
    解决Windows 7 IIS7.5 用户 'IIS APPPOOL{站点名} AppPool'登录失败
    解决WebClient或HttpWebRequest首次连接缓慢问题
    VB 十六进制转汉字的函数
    xshell的常用命令
    javaweb项目添加log4j日志
    java中的事务
    eclipse中给方法加说明的快捷键
    eclipse中竖行选择代码的快捷键
    java中如何自动获取电脑的ip地址
    javaweb项目启动时自动启动rmi服务器实例
  • 原文地址:https://www.cnblogs.com/blfshiye/p/5184197.html
Copyright © 2011-2022 走看看