同福

在App里打开qq聊天窗口的方法

介绍

介绍

福哥需要在App里打开qq的聊天窗口,查了一下发现和web端基本一样,都是通过一个特殊协议的Uri完成的,现在将方法分享给大家

打开QQ聊天窗口

借助Intent去打开一个特殊的Uri,这个Uri包含QQ需要的特殊协议mqqwpa

Uri uri = Uri.parse("mqqwpa://im/chat?chat_type=wpa&uin=12345678");
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(uri);
startActivity(intent);

如果手机上没有安装qq会出意外,那么执行之前需要检测一下com.tencent.mobileqq这个包是否存在

try{
    // try to find qq package
    getPackageManager().getApplicationInfo("com.tencent.mobileqq", PackageManager.GET_UNINSTALLED_PACKAGES);

    // start qq chat window
    Uri uri = Uri.parse("mqqwpa://im/chat?chat_type=wpa&uin=12345678");
    Intent intent = new Intent();
    intent.setAction(Intent.ACTION_VIEW);
    intent.setData(uri);
    startActivity(intent);
}
catch (Exception e){
    Toast.makeText(this, "没有找到QQ软件", Toast.LENGTH_LONG).show();
}