最近做的项目中遇到了需要在项目中添加分享功能。有些是分享到微博,有些是分享到微信,有些是分享到QQ等等吧。对于一些相对来说比较成熟的应用如上三种好办其实,只要在相应的官网上去注册一个ID或是Key之类的东西,然后再上网去查怎么用。对于这一点,在后面的博客中我会做一个介绍,今天的内容无关于此。讲解今天这个程序的目的在于,我们单个应用需要对外分享的接口太多,我们不太会对于一个应用去申请这么多接口。
如果要满足简单的分享,那么我们可以通过系统已经封装好了的方法直接调用即可。如果你是一个好奇心很重的人,想知道系统又是怎么实现的,那你也可以去网上查,或是去看它的源代码。反正我是打算这么干了。那么具体的实现代码如下所示:
public static void shareForFriend(Context context, View view) { Intent intent = new Intent(Intent.ACTION_SEND); // 启动分享发送的属性 intent.setType("text/plain"); // 分享发送的数据类型 intent.putExtra(Intent.EXTRA_SUBJECT, "快乐分享"); // 分享的主题 String text = "在这里填写分享内容......"; text += "个人地址:http://blog.csdn.net/lemon_tree12138"; intent.putExtra(Intent.EXTRA_TEXT, text); // 分享的内容 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(Intent.createChooser(intent, "分享 快乐分享 给好友")); // 目标应用选择对话框的标题 }至于这些代码的具体功能,注释里也写得很清楚了。是不是对这么几句话就实现了分享的功能感到恐怖?恐怖居然可以这么简单就实现了!!!恐怖如果就这么实现了,那还要我们程序员干嘛?这样的问题睡前想想就可以了。。。
另外还有一点不要忘了,那就是添加申请权限:<uses-permission android:name="android.permission.INTERNET" />
笔者这里只对网络的权限作了一个申请,如果还缺少什么其他权限大家可以用评论的方式给我留言。非常欢迎,了非常感谢。
这里需要指出的是:
1.这种分享的效果还不是很好,不如去申请ID或是Key之类的来得好;具体分享的效果,可以去下载如下连接的源代码,自己亲自尝试。点击下载
2.这种分享的功能不是太稳定,有时会出现闪退(网上有人这样说,不过笔者还没遇到过这种情况)。
下面贴出程序的运行效果: