检测应用是否已经安装的工具类
package com.lab.web.entity;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.text.TextUtils;
import static android.app.Activity.RESULT_OK;
/**
* Created by ppg on 2017/12/19.
*/
public class CheckApkExist {
private static String facebookPkgName = "com.tencent.android.qqdownloader ";
public static boolean checkApkExist(Context context, String packageName){
if (TextUtils.isEmpty(packageName))
return false;
try {
ApplicationInfo info = context.getPackageManager()
.getApplicationInfo(packageName,
PackageManager.GET_UNINSTALLED_PACKAGES);
return true;
} catch (PackageManager.NameNotFoundException e) {
return false;
}
}
public static boolean checkFacebookExist(Context context){
return checkApkExist(context, facebookPkgName);
}
public static boolean isAppInstalled(Context context,String packagename)
{
PackageInfo packageInfo;
try {
packageInfo = context.getPackageManager().getPackageInfo(packagename, 0);
}catch (PackageManager.NameNotFoundException e) {
packageInfo = null;
e.printStackTrace();
}
if(packageInfo ==null){
return false;
}else{
return true;
}
}
}
未安装去市场下载,已经安装调起第三方应用
boolean b = CheckApkExist.isAppInstalled(this, "com.tencent.android.qqdownloader");
if (b) {
Uri uri = Uri.parse("market://details?id=" + "com.tencent.android.qqdownloader");
Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri);
try {
goToMarket.setClassName("com.tencent.android.qqdownloader", "com.tencent.pangu.link.LinkProxyActivity");
myContext.startActivity(goToMarket);
} catch (ActivityNotFoundException e) {
e.printStackTrace();
}
}else {
Uri uri = Uri.parse("market://details?id=com.tencent.android.qqdownloader");
Intent it = new Intent(Intent.ACTION_VIEW, uri);
startActivity(it);
}