Android调用系统自带的分享功能实例代码
程序员文章站
2023-11-17 18:46:22
实现分享功能的几个办法
1.调用系统的分享功能
2.通过第三方sdk,如sharesdk,友盟等
3.自行使用各自平台的sdk,比如qq,微信,微博各自的sd...
实现分享功能的几个办法
1.调用系统的分享功能
2.通过第三方sdk,如sharesdk,友盟等
3.自行使用各自平台的sdk,比如qq,微信,微博各自的sdk
这里就记录下第一种办法。
分享文本信息
intent textintent = new intent(intent.action_send); textintent.settype("text/plain"); textintent.putextra(intent.extra_text, "这是一段分享的文字"); startactivity(intent.createchooser(textintent, "分享"));
效果如下图:
分享单张图片
string path = getresourcesuri(r.drawable.shu_1); intent imageintent = new intent(intent.action_send); imageintent.settype("image/jpeg"); imageintent.putextra(intent.extra_stream, uri.parse(path)); startactivity(intent.createchooser(imageintent, "分享"));
分享多个文件
arraylist<uri> imageuris = new arraylist<>(); uri uri1 = uri.parse(getresourcesuri(r.drawable.dog)); uri uri2 = uri.parse(getresourcesuri(r.drawable.shu_1)); imageuris.add(uri1); imageuris.add(uri2); intent mulintent = new intent(intent.action_send_multiple); mulintent.putparcelablearraylistextra(intent.extra_stream, imageuris); mulintent.settype("image/jpeg"); startactivity(intent.createchooser(mulintent,"多文件分享"));
上面几个例子的效果都是一样的,创建一个选择器,让用户自己选择分享到哪里。
这里有一点得注意,就是通过这种方法进行分享,intent传递的数据的type(就是settype()方法)一定要控制好,不然会出错。(至于为什么后面说)。
其中由于是分享的res中的图片,故转变为uri,方法在这:
private string getresourcesuri(@drawableres int id) { resources resources = getresources(); string uripath = contentresolver.scheme_android_resource + "://" + resources.getresourcepackagename(id) + "/" + resources.getresourcetypename(id) + "/" + resources.getresourceentryname(id); toast.maketext(this, "uri:" + uripath, toast.length_short).show(); return uripath; }
指定分享到微信
intent wechatintent = new intent(intent.action_send); wechatintent.setpackage("com.tencent.mm"); wechatintent.settype("text/plain"); wechatintent.putextra(intent.extra_text, "分享到微信的内容"); startactivity(wechatintent);
效果如下:
指定分享到qq
intent qqintent = new intent(intent.action_send); qqintent.setpackage("com.tencent.mobileqq"); qqintent.settype("text/plain"); qqintent.putextra(intent.extra_text, "分享到微信的内容"); startactivity(qqintent);
效果如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
推荐阅读