【背景】:最近做的APP,有这样一个需求,选中列表中人物,与其进行在线沟通,自己开发一个在线聊天功能耗时耗力,所以想借助目前普遍的聊天工具,如QQ、微信,按照人们的生活习惯,估计使用QQ进行线上工作沟通的比较多,所以,APP端具体要实现这样的功能:启动本地QQ,并可以与指定的QQ号进行临时会话。
【实现思路】:
1)本地检查是否按照了QQ,若安装了,则启动QQ,否则,进行提示;
2)QQ程序的包名:com.tencent.mobileqq
3)目标qq的url:"mqqwpa://im/chat?chat_type=wpa&uin=要进行聊天的qq号&version=1"
【启动控制代码】:
if (ApkUtil.checkApkExist(QQPACK)){
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
}else{
Toast.makeText(MyApplication.getContext(),"本机未安装QQ应用",Toast.LENGTH_SHORT).show();
}
【检测本地程序 工具类】:
//针对安装程序的检测等
public class ApkUtil {
//检测某程序是否已经安装
public static boolean checkApkExist(String packageName) {
Context context = MyApplication.getContext();
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号需要开通推广功能,否则不是好友的话,也没法进行聊天,开同推广 的方法如下,需要注意的是,qq号等级10以上才能开通,否则打开下面的网址,不会弹出“立即免费开通”对话框。
- 1)打开QQ推广网址http://shang.qq.com并用QQ登录
- 2)点击顶部导航栏:推广工具
- 3)在弹出菜单中点击'立即免费开通' 即可