Android开发打开指定QQ,申请加入QQ群,打开微信

首先需要有一个方法来检查当前设备是否安装了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;
        }
    }


参数packageName就是需要检测的应用的包名。

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应用");
        }
    }

其中uin=12345678,uin对应的是你要打开的qq号码。


二、加入QQ群

如果想要申请加入一个QQ群,

1、首先要打开http://qun.qq.com/join.html

2、选择你创建的群,复制Android代码。代码就可以直接使用Android开发打开指定QQ,申请加入QQ群,打开微信_第1张图片


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("本机未安装微信应用");
        }
    }







你可能感兴趣的:(Android开发打开指定QQ,申请加入QQ群,打开微信)