首页 > 代码库 > Android简单的分享笔记

Android简单的分享笔记

http://blog.csdn.net/xyz_lmn/article/details/16856843
采用Intent隐式调用Activity的方法,主要使用Intent.ACTION_SEND和Intent.createChooser();
调用Android系统的分享接口。系统会过滤手机上的具有分享应用的程序,让用户进行选择。如果没有使用Intent.createChooser()则会取系统默认的用户分享方式,只有未设置的情况下才会弹出让用户进行选择。
1、简单的分享文本
1 Intent intent = new Intent();2 intent.setAction(Intent.ACTION_SEND);//设定Intent的ACTION3 intent.putExtra(Intent.EXTRA_TEXT, "YOUR SHARE TEXT");//分享的内容tag和内容4 intent.setType("text/plain");//标志发送的数据类型,方便接收方进行处理(类型/子类型)5 startActivity(inten);//使用隐式调用Activity的方法
  1. 隐式调用Activity的方法
或者
  1. startActivity(Intent.createChooser(intent, "the chooser dialog title"));//
2、发送图片则使用
  1. intent.putExtra(Intent.EXTRA_STREAM, imageUri);
  2. intent.setType("imag/*");//*可以为jpg,png等等
3、也可以同时分享一组数据
1 List<Uri> uris;2 Intent intent = new Intent();3 intent.setAction(Intent.ACTION_SED_MULTIPLE);//发送组4 intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);5 intent.setType("*/*");//如果都是视频则video/*6 startActivity(intent);
如果想让应用进入弹出来的分享列表则需要在mainifest中activity添加intent-filter:
例子:
 1 <intent-filter>   2                <action android:name="android.intent.action.SEND" />   3    4                <category android:name="android.intent.category.DEFAULT" />   5    6                <data android:mimeType="image/*" />   7            </intent-filter>   8          <intent-filter>   9                <action android:name="android.intent.action.SEND" />  10   11                <category android:name="android.intent.category.DEFAULT" />  12     13                <data android:mimeType="text/plain" />  14            </intent-filter>  15            <intent-filter>  16                <action android:name="android.intent.action.SEND_MULTIPLE" />  17   18                <category android:name="android.intent.category.DEFAULT" />  19   20                <data android:mimeType="image/*" />  21            </intent-filter>  
在接收的activity里面接收
1 Intent intent = getIntent();2 String action = intent.getAction();//对应intent.setAction()3 String type = intent.getType();//对应intent.setType()4 inten.get???Extra(Intent.EXTRA_???)或者intent.getParcelableExtra(Intent.EXTRA_STREAM);

也可以把分享放到ActionBar里面。