zoukankan      html  css  js  c++  java
  • 判断Android应用是否安装、运行

    本文介绍3个方法,判断手机上是否安装了某应用、该应用是否正在运行、获取手机某个APK文件的安装Intent.启动该Intent就可以直接安装该APK。

    /**
    * 判断应用是否已安装
    *
    * @param context
    * @param packageName
    * @return
    */
    private boolean isInstalled(Context context, String packageName) {
    boolean hasInstalled = false;
    PackageManager pm = context.getPackageManager();
    List<PackageInfo> list = pm
    .getInstalledPackages(PackageManager.PERMISSION_GRANTED);
    for (PackageInfo p : list) {
    if (packageName != null && packageName.equals(p.packageName)) {
    hasInstalled = true;
    break;
    }
    }
    return hasInstalled;
    }

    /**
    * 获取文件安装的Intent
    *
    * @param file
    * @return
    */
    private Intent getFileIntent(File file) {
    Uri uri = Uri.fromFile(file);
    String type = "application/vnd.android.package-archive";
    Intent intent = new Intent("android.intent.action.VIEW");
    intent.addCategory("android.intent.category.DEFAULT");
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    intent.setDataAndType(uri, type);
    return intent;
    }

    /**
    * 判断应用是否正在运行
    *
    * @param context
    * @param packageName
    * @return
    */
    private boolean isRunning(Context context, String packageName) {
    ActivityManager am = (ActivityManager) context
    .getSystemService(Context.ACTIVITY_SERVICE);
    List<RunningAppProcessInfo> list = am.getRunningAppProcesses();
    for (RunningAppProcessInfo appProcess : list) {
    String processName = appProcess.processName;
    if (processName != null && processName.equals(packageName)) {
    return true;
    }
    }
    return false;
    }

  • 相关阅读:
    递归算法——求取斐波那契数列(2)
    递归算法——求取斐波那契数列(1)
    《鸟哥的Linux私房菜》学习笔记(1)——文件与目录
    C# FINEUI 多页签(tab)中的笔记
    echarts 在.net 中和数据库交互
    FineUiMVC的tab控件加载URL(内部的_外部的)
    随想
    工作记录
    sql生成唯一标识
    ubuntu 中安装oracle 步骤
  • 原文地址:https://www.cnblogs.com/qingchen1984/p/5022133.html
Copyright © 2011-2022 走看看