最近利用webView做一个封装web商城的APP,里面的客服涉及到了QQ聊天,后台指定号码,手机端就获取该号码同时进行启动QQ进行交流:
关键启动第三方的QQ源码如下:
if(url.contains("wpa.qq.com/msgrd")) {
String[] arr = url.split("&");
if(arr.length>0) {
qq= arr[1].replace("uin=","");
}
//判断并启动QQ
if(isQQAvailable(MainActivity.this)) {
String url1 ="mqqwpa://im/chat?chat_type=wpa&uin="+qq;
Intent i1 =newIntent(Intent.ACTION_VIEW,Uri.parse(url1));
i1.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
i1.setAction(Intent.ACTION_VIEW);
startActivity(i1);
return true;// true表示不加载默认的url;
}else{
Toast.makeText(MainActivity.this,"您的手机暂未安装QQ客户端",Toast.LENGTH_SHORT).show();
return true;
}
}
/**判断系统是否安装有QQ客户端
*@paramcontext
*@return
*/
public static boolean isQQAvailable(Context context) {
final PackageManager mPackageManager = context.getPackageManager();
List pinfo = mPackageManager.getInstalledPackages(0);
if(pinfo !=null) {
for(inti =0;i < pinfo.size();i++) {
String pn = pinfo.get(i).mPackageManager;
if(pn.equals("com.tencent.mobileqq")) {
return true;
}
}
}
return false;
}