第一种方法使用地址
String url = "file:///" + "sdcard/download/filename";//filename带扩展名
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
shareIntent.putExtra(Intent.EXTRA_SUBJECT, subject);
shareIntent.putExtra(Intent.EXTRA_TEXT, body);
shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(url));
shareIntent.setType(getMIMEType(filename));
context.startActivity(shareIntent);
/**
* 得到打开文件的类型
*
* @param fileExtensionName
* @return
*/
public static String getMIMEType(String fileExtensionName) {
String type = "";
String end = fileExtensionName.substring(fileExtensionName.lastIndexOf(".") + 1).toLowerCase();
if (end.equals("m4a") || end.equals("mp3") || end.equals("mid") || end.equals("xmf") || end.equals("ogg")
|| end.equals("wav")) {
type = "audio";
} else if (end.equals("3gp") || end.equals("mp4")) {
type = "video";
} else if (end.equals("jpg") || end.equals("gif") || end.equals("png") || end.equals("jpeg")
|| end.equals("bmp")) {
type = "image";
} else if (end.equals("apk")) {
/* android.permission.INSTALL_PACKGES */
type = "application/vnd.android.package-archive";
} else {
type = "*";
}
if (end.equals("apk")) {
} else {
type += "/*";
}
return type;
}
文件格式为apk文件时,会使用邮件发送,不是用蓝牙。
第二种使用流方式
private void startSendIntent() {
Bitmap bitmap = Bitmap.createBitmap(editableImageView.getWidth(), editableImageView.getHeight(), Bitmap.Config.RGB_565);
editableImageView.draw(new Canvas(bitmap));
File png = getFileStreamPath(getString(R.string.file_name));
FileOutputStream out = null;
try {
out = openFileOutput(getString(R.string.file_name), MODE_WORLD_READABLE);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, out);
out.flush();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (out != null) out.close();
}
catch (IOException ignore) {}
}
final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(png));
emailIntent.setType("image/png");
startActivity(Intent.createChooser(emailIntent, getString(R.string.send_intent_name)));
}
分享到:
相关推荐
Android 分享功能 代码~~~~~~~~~~~~
android 分享,可以分享新浪微博,腾讯微博,QQ好友,QQ空间,微信好友,微信圈,短信,邮件等
Android分享SDK,包括微信、朋友圈,微博,QQ,QQ空间等渠道分享。
android分享到微信朋友圈的demo,直接可以运行,包含了demo项目源码,签名读取工具,接入步骤
PopupWindow实现android分享功能,android系统自带的分享功能
android分享到朋友支付宝功能
Android的少有的分享到twitter的工程源码。
Android实现分享功能的小Demo,就是一个简单的Demo框架,供联系使用。
android 分享简单事例 包含人人,qq ,qq好友,qq空间,微信好友,朋友圈
实现分享微信小程序、图片到微信朋友圈、微信好友。解决因图片过大出现分享失败,内置图片压缩功能,内置截图功能。
包含了Android应用开发中的关于微信分享,腾讯和新浪微博分享的实例,下载之后替换相应的APP_ID以及完整开发者平台的审核内容就可以直接使用,希望对大家有所帮助。
Android源代码,集定位、高德地图、分享当前位置到微信、QQ、微博等社交平台的功能于一体,很有参考学习的价值。
这个demo集成了Android分享功能大全,包括国内国外平台
Android分享网络图片至微信QQ,只是分享一张网络图片至微信QQ的功能(没有title,没有content,只有网络url)
强大分享插件,个人已经有成熟的案例,如果又不懂可以咨询我!或者留言!
详情请移步:http://blog.csdn.net/alfred_c/article/details/49722833
Android分享多张图文到朋友圈,适配微信7.0,亲测可用。
Android分享功能源码,一个挺不错的东西,学习android的兄弟们可以参考下了
超简单的分享功能实现,可以QQ分享,微信分享,空间分享,微博分享等多种分享,需要的可以下载看看