福哥需要在App里打开qq的聊天窗口,查了一下发现和web端基本一样,都是通过一个特殊协议的Uri完成的,现在将方法分享给大家
借助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();
}