admin管理员组文章数量:1532656
分享可能会用到一些第三方的分享,但是,有时候,我们也可以将一些文本内容复制到粘贴板,然后打开手机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
版权声明:本文标题:【Android】Android App打开手机QQ、微信等应用 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1725632612a1033891.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论