您的位置:首页 > 移动开发 > Android开发

Android 打开手机QQ,实现类似于客服功能

2017-11-30 10:05 465 查看
项目中,遇到一个小问题,在此记录一下,就是实现客服的功能。由于项目并没有集成 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对应的聊天界面,但是不能发送信息:



需要到 http://wp.qq.com/set.html 网址开通客服QQ的在线咨询功能,过程比较简单,就不详说了!!

如还有其他坑,请不吝留言,谢谢!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息