今天带来的文章是一篇关于android的技术文章:
第一:
目前,第三方分享基本是每个app的一个必不可少的一个功能,使用这个功能或许是为了推广自己的产品、又或者是推销销售、社交等等,市场上也有很多可以集成的第三方分享的app 可以集成qq的 微信的 sina的 甚至支付宝也可以 等等,好多。而对于android而言也是一样的。在android实现第三方分享系统上有一种比较简单的全面的实现第三方分享的方式:代码如下:
Intent intent=new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_SUBJECT, "分享");
intent.putExtra(Intent.EXTRA_TITLE, "Title");
intent.putExtra(Intent.EXTRA_TEXT, "要分享的内容");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(Intent.createChooser(intent, "请选择"));
运行项目并填写分享内容,如图:
调用上面代码你可以发现可以打开一个新的窗口,如下
你可以通过此方式将内容分享到QQ,微信,微信收藏,短信,支付宝等等;
该方式实现分享的优点是:简单,快捷,可以分享到手机上全部支持分享的app且不需太多繁琐的带码,也不需要集成任何第三方sdk;
缺点:由于此方式的简单也早就了它不会支持图文混排分享,不想微信,qq官方sdk中那么多的花样;
第二:
如何使自己的app也可以像qq,微信那样有这种功能,就是 我通过调用《第一》中的代码,弹出的窗口中可以选择自己的app,且能拿到分享的数据,进行分享呢?
下面我来介绍一下,如何实现这种功能:
其实也很简单,要实现这种功能需要用到intent-filter
intent-filter 相信大家都应该了解,在这里就不细说了,如果你还不了解,你可以去这篇播客去看看:
http://blog.csdn.net/luohai859/article/details/7368745
下面我创建一个项目,名字叫PP
实现功能步骤:
1.在AndroidManifest.xml 对应要启动的activity 配置如下
<intent-filter>
<category android:name="android.intent.category.DEFAULT" />
<action android:name="android.intent.action.SEND" />
<data android:mimeType="text/plain"/>
<!-- <data android:mimeType="image/jpeg"/>
<data android:mimeType="image/png"/>
<data android:mimeType="application/zip"/>
<data android:mimeType="application/rar"/>
<data android:mimeType="audio/amr"/> -->
</intent-filter>
目前,以上这种配置仅仅支持intent.setType("text/plain"); 这种类型的分享
如果需要其他类型
如jpeg图片分享:<data android:mimeType="image/jpeg"/>
png图片分享:<data android:mimeType="image/png"/>
压缩包分享:<data android:mimeType="application/zip"/> 或者 <data android:mimeType="application/rar"/>
查看更多mimeType 你可以参考这篇文章
http://blog.csdn.net/janronehoo/article/details/7514883
2.在分享要打开的activity中获取分享数据(在这里我只对分享数据做以展示)
Intent intent = getIntent();
if(intent == null)
return;
Bundle extras = intent.getExtras();
if(extras == null)
return;
switch (intent.getType()) {
case "text/plain"://分享的内容类型,如果png图片:image/png
tv.setText("分享内容:\ntitle: " + extras.get(Intent.EXTRA_TITLE)
+ "\ncontent: " + extras.get(Intent.EXTRA_TEXT));
break;
default:
break;
}
以上代码便可以拿到要分享的数据
再次运行《第一》中项目,效果如下
这时就可以选择分享给PP好友,点击后如下图:
上图便是启动后拿到的分享数据,
3.拿到数据根据自己项目需求实现分享即可。
感兴趣的朋友也可以关注下面微信公众号看更多文章
dream_we90
最后 附上源码:http://download.csdn.net/detail/guojiel/9551587