1. 程式人生 > >判斷QQ,微信,微博是否安裝

判斷QQ,微信,微博是否安裝

今天弄了一下QQ,微信,微博分享SDK時,發現如果沒有安裝QQ,微信客戶端,點選分享,啥提示都沒有,也沒反應,但微博沒有安裝客戶端時,會自動跳轉到微博的網頁介面進行登入。所以現在就搞了一個需求,如果沒安裝QQ,微信客戶端時,就提示使用者安裝再進行分享。下面寫了一個工具類來判斷是否安裝,原理很簡單,就是通過遍歷手機所安裝的程式包名來進行判斷:

public class CheckClientUtil {

    /**
     * 檢測是否安裝微信
     *
     * @param context
* @return
*/
public static boolean isWxInstall
(Context context) { final PackageManager packageManager = context.getPackageManager();// 獲取packagemanager List<PackageInfo> pinfo = packageManager.getInstalledPackages(0);// 獲取所有已安裝程式的包資訊 if (pinfo != null) { for (int i = 0; i < pinfo.size(); i++) { String pn = pinfo.get(i).packageName
; if (pn.equals("com.tencent.mm")) { return true; } } } return false; } /** * 檢查是否安裝QQ * @param context * @return */ public static boolean isQQInstall(Context context) { final PackageManager packageManager = context.getPackageManager();
// 獲取packagemanager List<PackageInfo> pinfo = packageManager.getInstalledPackages(0);// 獲取所有已安裝程式的包資訊 if (pinfo != null) { for (int i = 0; i < pinfo.size(); i++) { String pn = pinfo.get(i).packageName; if (pn.equals("com.tencent.mobileqq")) { return true; } } } return false; } /** * 檢查是否安裝微博 * @param context * @return */ public static boolean isWeiboInstall(Context context) { final PackageManager packageManager = context.getPackageManager();// 獲取packagemanager List<PackageInfo> pinfo = packageManager.getInstalledPackages(0);// 獲取所有已安裝程式的包資訊 if (pinfo != null) { for (int i = 0; i < pinfo.size(); i++) { String pn = pinfo.get(i).packageName; if (pn.equals("com.sina.weibo")) { return true; } } } return false; } }