Android 打开TIM 临时会话

最近项目中要实现一个打开qq发起临时会话的需求,代码如下,亲测有效

 /**
 * 判断手机设备是否安装指定包名的apk应用程序
 * @param context
 * @param packageName
 * @return
 */
public static boolean isSpecialApplInstalled(Context context, String packageName) {
    if (isEmpty(packageName)){
        return false;
    }
    PackageManager packageManager = context.getPackageManager();
    try {
        packageManager.getPackageInfo(packageName, 0);
        return true;
    } catch (PackageManager.NameNotFoundException e) {
        e.printStackTrace();
    }
    return false;
}


/**
 * 检查字符串是否为空
 * @param str
 * @return
 */
public static boolean isEmpty(CharSequence str) {

    return (str == null || str.length() == 0);
}

这里是具体的逻辑代码,你们可能会发现打开qq和tim其实逻辑代码是一致的,只是判断方法不一样而已

if (Tools.isSpecialApplInstalled(this ,"com.tencent.mobileqq")){
            startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("mqqwpa://im/chat?chat_type=wpa&uin="+dataBean.getQQ()+"&version=1")));
        }else if(Tools.isSpecialApplInstalled(this ,"com.tencent.tim")){
            startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("mqqwpa://im/chat?chat_type=wpa&uin="+dataBean.getQQ()+"&version=1")));
        }else{
            ToastUtils.showShort("您的手机没有安装QQ哦,请安装后再试");
        }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容