首页 > 代码库 > 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的方法
- 隐式调用Activity的方法
或者
- startActivity(Intent.createChooser(intent, "the chooser dialog title"));//
2、发送图片则使用
- intent.putExtra(Intent.EXTRA_STREAM, imageUri);
- 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里面。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。