【Android】Android App打开手机QQ、微信等应用

分享可能会用到一些第三方的分享,但是,有时候,我们也可以将一些文本内容复制到粘贴板,然后打开手机QQ,或者是微信手动粘贴进行分享,现在分享一下如何打开手机QQ等应用(效果可以实现,有一些注释是个人理解)

第一种方式:通过一些协议打开:

Android:

打开QQ(只能是指定QQ的聊天窗口,目前没有找到只是打开qq的方法):

String url="mqqwpa://im/chat?chat_type=wpa&uin=123456";
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));

打开微信:

String url="weixin://";
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));

ps:附带上IOS的打开qq:

UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectZero];
NSURL *url = [NSURL URLWithString:@"mqq://im/chat?chat_type=wpa&uin=123456&version=1&src_type=web"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
webView.delegate = self;
[webView loadRequest:request];
[self.view addSubview:webView];

第二种方式:通过包名打开:

Android:

打开QQ:

//同AndroidManifest中主入口Activity一样
Intent intent = new Intent(Intent.ACTION_MAIN,null);
intent.addCategory(Intent.CATEGORY_LAUNCHER);

//得到一个PackageManager的对象
PackageManager packageManager = 			mContext.getApplicationContext().getPackageManager();
//获取到主入口的Activity集合
List<ResolveInfo> mlist = packageManager.queryIntentActivities(intent,0);

Collections.sort(mlist,new ResolveInfo.DisplayNameComparator(packageManager));

      for (ResolveInfo res :mlist){
           String pkg = res.activityInfo.packageName;
           String cls = res.activityInfo.name;
           if (pkg.contains("com.tencent.mm")){
                        ComponentName componentName = new ComponentName(pkg,cls);
           Intent intent1 = new Intent();
           intent1.setComponent(componentName);
           intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
           startActivity(intent1);
                    }
                }

打开微信以及其他应用同理:

几个常用的package有:
新浪微博:
com.sina.weibo

腾讯微博:
com.tencent.WBlog

微信:
com.tencent.mm

QQ:
com.tencent.mobileqq

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值