android中,利用Intent.ACTION_SEND可以实现简单“分享”功能,可以分享文字、图片等到其他应用,像微信、QQ、短信等。

MainActivity.java文件:

package com.example.androidtest;import java.io.File;import android.net.Uri;import android.os.Bundle;import android.os.Environment;import android.app.Activity;import android.content.Intent;import android.view.Menu;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);String strDlgTitle = "对话框标题 - 分享文字";String strSubject = "我的主题";String strContent = "我的分享内容";/** * 1.分享纯文字内容 *///shareText(strDlgTitle, strSubject, strContent);/** * 2.分享图片和文字内容 */strDlgTitle = "对话框标题 - 分享图片";// 图片文件路径(SD卡根目录下“1.png”图片)String imgPath = Environment.getExternalStorageDirectory().getPath()+ File.separator + "1.png";// 图片URIUri imageUri = Uri.fromFile(new File(imgPath));// 分享shareImg(strDlgTitle, strSubject, strContent, imageUri);}/** * 分享文字内容 *  * @param dlgTitle *            分享对话框标题 * @param subject *            主题 * @param content *            分享内容(文字) */private void shareText(String dlgTitle, String subject, String content) {if (content == null || "".equals(content)) {return;}Intent intent = new Intent(Intent.ACTION_SEND);intent.setType("text/plain");if (subject != null && !"".equals(subject)) {intent.putExtra(Intent.EXTRA_SUBJECT, subject);}intent.putExtra(Intent.EXTRA_TEXT, content);// 设置弹出框标题if (dlgTitle != null && !"".equals(dlgTitle)) { // 自定义标题startActivity(Intent.createChooser(intent, dlgTitle));} else { // 系统默认标题startActivity(intent);}}/** * 分享图片和文字内容 *  * @param dlgTitle *            分享对话框标题 * @param subject *            主题 * @param content *            分享内容(文字) * @param uri *            图片资源URI */private void shareImg(String dlgTitle, String subject, String content,Uri uri) {if (uri == null) {return;}Intent intent = new Intent(Intent.ACTION_SEND);intent.setType("image/*");intent.putExtra(Intent.EXTRA_STREAM, uri);if (subject != null && !"".equals(subject)) {intent.putExtra(Intent.EXTRA_SUBJECT, subject);}if (content != null && !"".equals(content)) {intent.putExtra(Intent.EXTRA_TEXT, content);}// 设置弹出框标题if (dlgTitle != null && !"".equals(dlgTitle)) { // 自定义标题startActivity(Intent.createChooser(intent, dlgTitle));} else { // 系统默认标题startActivity(intent);}}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.activity_main, menu);return true;}}

其中,shareText方法实现了分享文本内容的功能,而shareImg方法实现了分享图片的功能。Intent.EXTRA_STREAM还可以分享其他类型的资源文件,比如:MP3。


运行效果如下所示:

1. 分享文字内容到微信






2. 分享文字内容到QQ


3. 分享图片到微信




4.分享图片到QQ




更多相关文章

  1. Android(安卓)TextView文字过多时通过滚动条显示多余内容
  2. android notification 的总结分析
  3. Android选项卡Tab的实现
  4. 关于Android(安卓)studio的build.gradle的内容
  5. android 实现音频分享功能
  6. Listview Section 多个标题以及内容
  7. 【源代码】一键分享各个社交平台_android
  8. AES Android(安卓)加密
  9. android 隐藏标题栏

随机推荐

  1. 我的Android进阶之旅------>Android视频
  2. 史上最全!最经典!最无私的Android资料(书籍+
  3. Android(安卓)Studio 第五十期 - 自定义T
  4. Android的ProgressBar以及自定义进度条
  5. android_ui对其方式
  6. Android自学笔记(番外篇):全面搭建Linux环境
  7. 简单控件的UI界面设计
  8. google 开发者自定义view的系列(创建view,
  9. Material Design 之 Theme
  10. android弹出输入法时的模式