1. 程式人生 > >Android 開啟手機QQ,實現類似於客服功能

Android 開啟手機QQ,實現類似於客服功能

專案中,遇到一個小問題,在此記錄一下,就是實現客服的功能。由於專案並沒有整合 IM 模組,所以利用手機QQ,實現客服功能!!

實現比較簡單:

/** 
 * 判斷 使用者是否安裝QQ客戶端 
 */  
public static boolean isQQClientAvailable(Context context) {  
    final PackageManager packageManager = context.getPackageManager();  
    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.equalsIgnoreCase("com.tencent.qqlite") || pn.equalsIgnoreCase("com.tencent.mobileqq")) { return true; } } } return
false; } /** * 判斷 Uri是否有效 */ public static boolean isValidIntent(Context context, Intent intent) { PackageManager packageManager = context.getPackageManager(); List<ResolveInfo> activities = packageManager.queryIntentActivities(intent, 0); return !activities.isEmpty(); }
// 跳轉之前,可以先判斷手機是否安裝QQ
if (isQQClientAvailable(this)) { // 跳轉到客服的QQ String url = "mqqwpa://im/chat?chat_type=wpa&uin=客服的QQ"; Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); // 跳轉前先判斷Uri是否存在,如果開啟一個不存在的Uri,App可能會崩潰 if (isValidIntent(intent)) { startActivity(intent); } }

這裡還有一個坑,就是我們客服的QQ需要開通線上諮詢功能。如果沒有開通,雖然能發起QQ對應的聊天介面,但是不能傳送資訊:

如還有其他坑,請不吝留言,謝謝!!