slider

还是菜鸟
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

android分享功能的实现

Posted on 2012-02-13 15:24  slider  阅读(4919)  评论(0编辑  收藏  举报

  经常看到一些软件有一些共享的按钮,点击这个按钮,就会出现一大推你安装过软件列表(据说是注册过什么东西的),比如:人人,开心,邮件等。其实实现非常简单:

  

Intent intent=new Intent(Intent.ACTION_SEND);   
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_SUBJECT,data.get(mPosition).getTitle());
intent.putExtra(Intent.EXTRA_TEXT, data.get(mPosition).getText());
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(Intent.createChooser(intent, "分享"));

  但是以前有个问题,当类型设置为:intent.setType("text/plain")时候,腾讯微薄,开心不会出现在分享的列表里面,下面是网上反编译腾讯微薄的代码(懒得反编译了):

<activity android:name=".activity.MicroBlogInput" android:screenOrientation="portrait" android:configChanges="keyboardHidden|orientation" android:windowSoftInputMode="stateAlwaysVisible|adjustResize">
<intent-filter android:label="@string/albums_sendbyWBlog">
<action android:name="android.intent.action.SEND" />
<data android:mimeType="image/*" />
         <
category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>

  但是腾讯是乎该过来了,按照:intent.setType("text/plain")点击分享按钮,分享列表中会出现腾讯微薄,并且测试结果为:腾讯微薄,人人,gmail客户端都能够分享成功。