首先需要有一个方法来检查当前设备是否安装了QQ或者微信:
public boolean checkApkExist(Context context, String packageName) {
if (packageName == null || "".equals(packageName))
return false;
try {
ApplicationInfo info = context.getPackageManager().getApplicationInfo(packageName,
PackageManager.GET_UNINSTALLED_PACKAGES);
return true;
} catch (PackageManager.NameNotFoundException e) {
return false;
}
}
QQ包名:com.tencent.mobileqq
微信包名:com.tencent.mm
一、打开指定QQ
用到上面的checkApkExist()方法:
private void openQQ() {
if (checkApkExist(this, "com.tencent.mobileqq")) {
String qqUrl = "mqqwpa://im/chat?chat_type=wpa&uin=12345678&version=1";
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(qqUrl)));
} else {
ToastUtil.showShortToast("本机未安装QQ应用");
}
}
二、加入QQ群
如果想要申请加入一个QQ群,
1、首先要打开http://qun.qq.com/join.html
2、选择你创建的群,复制Android代码。代码就可以直接使用
3、贴出我复制下来的代码:
/****************
*
* 发起添加群流程。群号:测试(288462556) 的 key 为: ianr2RRMSG9dpebVNUeM1yJZQRqzHpq-
* 调用 joinQQGroup(ianr2RRMSG9dpebVNUeM1yJZQRqzHpq-) 即可发起手Q客户端申请加群 测试(288462556)
*
* @param key 由官网生成的key
* @return 返回true表示呼起手Q成功,返回fals表示呼起失败
******************/
public boolean joinQQGroup(String key) {
Intent intent = new Intent();
intent.setData(Uri.parse("mqqopensdkapi://bizAgent/qm/qr?url=http%3A%2F%2Fqm.qq.com%2Fcgi-bin%2Fqm%2Fqr%3Ffrom%3Dapp%26p%3Dandroid%26k%3D" + key));
// 此Flag可根据具体产品需要自定义,如设置,则在加群界面按返回,返回手Q主界面,不设置,按返回会返回到呼起产品界面 //intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
try {
startActivity(intent);
return true;
} catch (Exception e) {
// 未安装手Q或安装的版本不支持
return false;
}
}
三、打开微信,直接贴代码
private void openWX() {
if (checkApkExist(this,"com.tencent.mm")){
Intent intent = new Intent();
ComponentName cmp=new ComponentName("com.tencent.mm","com.tencent.mm.ui.LauncherUI");
intent.setAction(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setComponent(cmp);
startActivity(intent);
}else{
ToastUtil.showShortToast("本机未安装微信应用");
}
}