package cn.bidaround.ytcore.util;
import java.util.List;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import cn.bidaround.point.YtConstants;
/**
* 判断分享平台是否被安装
* @author youtui
* @since 14/6/19
*/
public class AppHelper {
/**
* 通过package name检查APP是否已经安装
*/
private static boolean checkApp(Context context, String packageName) {
PackageManager pm = context.getPackageManager();
List<PackageInfo> packs = pm.getInstalledPackages(0);
for (PackageInfo pi : packs) {
if (pi.applicationInfo.packageName.equals(packageName)) {
return true;
}
}
return false;
}
/**
* 检查新浪微博是否已经安装
*/
public static boolean isSinaWeiboExisted(Context context) {
if (checkApp(context, YtConstants.PACKAGE_NAME_SINA_WEIBO)) {
return true;
} else {
return false;
}
}
/**
* 检查腾讯QQ是否已经安装
*/
public static boolean isTencentQQExisted(Context context) {
if (checkApp(context, YtConstants.PACKAGE_NAME_TENCENT_QQ)) {
return true;
} else {
return false;
}
}
/**
* 检查人人客户端是否已经安装
*/
public static boolean isRenrenExisted(Context context) {
if (checkApp(context, YtConstants.PACKAGE_NAME_RENREN)) {
return true;
} else {
return false;
}
}
/**
* 检查微信是否已经安装
*/
public static boolean isWeixinExisted(Context context) {
if (checkApp(context, YtConstants.PACKAGE_NAME_WEIXIN)) {
return true;
} else {
return false;
}
}
/**
* 检查易信是否已经安装
*/
public static boolean isYixinExisted(Context context) {
if (checkApp(context, "im.yixin")) {
return true;
} else {
return false;
}
}
/**
* 检查开心网是否已经安装
*/
public static boolean isKaixinExisted(Context context) {
if (checkApp(context, "com.kaixin001.activity")) {
return true;
} else {
return false;
}
}
/**
* 用于检测该intent能否可以使用
*/
public static boolean isIntentAvailable(Context context, Intent intent) {
final PackageManager packageManager = context.getPackageManager();
List<ResolveInfo> list = packageManager.queryIntentActivities(intent,
PackageManager.GET_ACTIVITIES);
return list.size() > 0;
}
}