1. 程式人生 > >Android 判斷手機有沒有安裝該應用的工具類

Android 判斷手機有沒有安裝該應用的工具類

public class AppInstallUtils{
    private static List<PackageInfo> cachedList;
    private static long lastDetectTime = 0;
    /**
     * 判斷是否安裝了微信
     */
    public static boolean isWeixinAvailable(Context context) {
        return isPackageAvailable(context, "com.tencent.mm");
    }

    /**
     * 判斷qq是否可用
     */
    public static boolean isQQClientAvailable(Context context) {
        return isPackageAvailable(context, "com.tencent.mobileqq");
    }

    /**
     * 判斷是否安裝了微博
     */
    public static boolean isWeiboAvailable(Context context) {
        return isPackageAvailable(context, "com.sina.weibo");
    }

    /**
     * 判斷是否安裝了釘釘
     */
    public static boolean isDingDingAvailable(Context context) {
        return isPackageAvailable(context, "com.alibaba.android.rimet");
    }

    public static boolean isPackageAvailable(Context context, String pkgName) {
        List<PackageInfo> pinfo = getCachedList(context);
        if (pinfo != null) {
            for (int i = 0; i < pinfo.size(); i++) {
                String pn = pinfo.get(i).packageName.toLowerCase();
                if (pn.equals(pkgName)) {
                    return true;
                }
            }
        }
        return false;
    }

    public  static List<PackageInfo> getCachedList(Context context) {
        final PackageManager packageManager = context.getPackageManager();// 獲取packagemanager
      if (cachedList == null || cachedList.size() == 0 || System.currentTimeMillis() - lastDetectTime > 60000 *5) {
            cachedList = packageManager.getInstalledPackages(0);// 獲取所有已安裝程式的包資訊
            lastDetectTime = System.currentTimeMillis();
        }
        return cachedList;
    }
}

下面提供常用的app包名  可自己替換:

QQ com.tencent.mobileqq
微信 com.tencent.mm
QQ音樂 com.tencent.qqmusic
微信讀書 com.tencent.weread
QQ閱讀 com.qq.reader
唱吧 com.changba
網易雲音樂 com.netease.cloudmusic
釘釘 com.alibaba.android.rimet
抖音 com.ss.android.ugc.aweme
美團外賣 com.sankuai.meituan.takeoutnew
餓了麼 me.ele
摩拜單車 com.mobike.mobikeapp
OFO so.ofo.labofo
今日頭條 com.ss.android.article.news
新浪微博 com.sina.weibo
網易新聞 com.netease.newsreader.activity
快手 com.smile.gifmaker
知乎 com.zhihu.android
虎牙直播 com.duowan.kiwi
映客直播 com.meelive.ingkee
秒拍 com.yixia.videoeditor
美圖秀秀 com.mt.mtxx.mtxx
美顏相機 com.meitu.meiyancamera
攜程 ctrip.android.view
陌陌 com.immomo.momo
優酷 com.youku.phone
愛奇藝 com.qiyi.video
滴滴出行 com.sdu.didi.psnger
支付寶 com.eg.android.AlipayGphone
淘寶 com.taobao.taobao
京東 com.jingdong.app.mall
大眾點評 com.dianping.v1
搜狗輸入法 com.sohu.inputmethod.sogou
百度地圖 com.baidu.BaiduMap
高德地圖 com.autonavi.minimap
簡書 com.jianshu.haruki
喜馬拉雅 com.ximalaya.ting.android