android---(分享操作)
2015-10-18 17:47
561 查看
//当单击按钮时,触发: public class share extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_share); } //当单击按钮时,触发,自动调用系统分享程序列表 public void sharedSimple(View view) { Intent sendIntent = new Intent(); //作用 sendIntent.setAction(Intent.ACTION_SEND); //类型 sendIntent.setType("text/plain"); //分享的内容 sendIntent.putExtra(Intent.EXTRA_TEXT,"你是谁啊"); //启动系统的分享程序 startActivity(sendIntent); } }
public class share extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_share); } public void sharedSimple(View view) { Intent sendIntent = new Intent(); //作用 sendIntent.setAction(Intent.ACTION_SEND); //类型 sendIntent.setType("text/plain"); //分享的内容 sendIntent.putExtra(Intent.EXTRA_TEXT, "你是谁啊"); //指定选择器:参数:intent ,分享列标题 startActivity(Intent.createChooser(sendIntent, "您好啊")); } }
//分享图片: public void sharedImage(View view){ //图片路径 Uri uriImage = Uri.parse("./sdcard/4.jpg"); Intent sendIntent = new Intent(); //作用 sendIntent.setAction(Intent.ACTION_SEND); //类型 sendIntent.setType("image/*"); //分享的内容 sendIntent.putExtra(Intent.EXTRA_STREAM, uriImage); startActivity(Intent.createChooser(sendIntent,"分享图片到")); }
//分享多个内容 public void multImage(View view){ //图片路径 Uri uriImage1 = Uri.parse("./sdcard/1.jpg"); Uri uriImage2 = Uri.parse("./sdcard/4.jpg"); ArrayList<Uri> list = new ArrayList<Uri>(); list.add(uriImage1); list.add(uriImage2); Intent sendIntent = new Intent(); //作用 sendIntent.setAction(Intent.ACTION_SEND_MULTIPLE); //类型 sendIntent.setType("image/*"); //分享的内容 sendIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM,list); startActivity(Intent.createChooser(sendIntent, "分享图片到")); }
//自已的app接收数据:会自动在分享列表程序中显示自已的app, public class ReceiverShared extends AppCompatActivity { TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_receiver_shared); textView = (TextView) findViewById(R.id.content); handlerContent(); } private void handlerContent() { Intent intent = getIntent(); String type = intent.getType(); String action = intent.getAction(); if(Intent.ACTION_SEND.equals(action)){ if("text/plain".equals(type)){ //获取内容: String info = intent.getStringExtra(Intent.EXTRA_TEXT); textView.setText(info); } } } } 清单配置: //接收数据的activity: <activity android:name=".ReceiverShared" android:label="@string/title_activity_receiver_shared" > <intent-filter> <action android:name="android.intent.action.SEND"></action> <category android:name="android.intent.category.DEFAULT"></category> <data android:mimeType="text/plain"/> </intent-filter> </activity>
在标题栏上显示像qq 一样的分享图标功能: //菜单项: <item android:id="@+id/shares" android:orderInCategory="200" android:title="分享" app:actionProviderClass="android.support.v7.widget.ShareActionProvider" app:showAsAction="ifRoom"/> //activity类: public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_main, menu); MenuItem item = menu.findItem(R.id.shares); //一定是V7下的包 ShareActionProvider sp = (ShareActionProvider) MenuItemCompat.getActionProvider(item); Intent intent = new Intent(); intent.setAction(Intent.ACTION_SEND); intent.setType("text/plain"); //分享的内容 intent.putExtra(Intent.EXTRA_TEXT, "你好啊1"); sp.setShareIntent(intent); return super.onCreateOptionsMenu(menu); }
相关文章推荐
- android 42 获取图片
- Android夜间模式的实现
- 22.Android 十分方便的滑动标签页EasySlidingTabs
- 如何正确导入Android支持库
- Android中数据存储和访问方式
- Android开发手记(10) 下拉菜单Spinner
- android 41 Environment
- 我的Android进阶之旅------>Android知识图谱
- Android 动态设置TextView的drawableLeft等属性
- Android 动态设置TextView的drawableLeft等属性
- android 40 Io编程
- Android Context对象
- Android APK反编译
- Android Listview的分组实现
- 【Android应用开发技术:应用组件】Handler组件通信机制
- Android开发学习日记
- android 布局如何支持多种不同屏幕尺寸
- android 39 共享首选项
- Android 异步消息处理机制 让你深入理解 Looper、Handler、Message三者关系
- ANDROID L——RecyclerView,CardView进口和使用(Demo)