第一种方法使用地址
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分享功能概述 1. 分享API Android提供了Intent机制,使得开发者可以轻松实现分享功能。Intent是一种用来在组件之间传递消息的机制,它可以携带数据并启动其他应用的Activity,从而实现跨应用的数据分享...
在本例中,"Android分享SDK"是一个专门为Android开发者设计的工具包,用于简化与多个社交平台的交互,如微信、微博和QQ等。 一、微信分享 微信SDK提供了与微信应用进行交互的能力,包括文本、图片、网页链接等多种...
这个"android分享到微信朋友圈demo"提供了一个可以直接运行的示例,帮助开发者理解和实现这一功能。下面我们将详细探讨相关知识点。 首先,我们需要了解Android系统中的Intent机制。在Android中,Intent是用来在...
本篇将基于提供的"Android分享功能小Demo"来深入讲解如何在Android中实现分享功能。 首先,Android的分享功能主要依赖于Intent系统,通过Intent可以启动其他应用程序的特定操作,如发送邮件、发布到社交平台等。在`...
以上就是实现“Android分享到微信好友,朋友圈”的主要技术点,涵盖了Android的Intent机制、微信SDK的集成、应用签名和回调处理等多个方面。通过这些知识,开发者可以为用户提供方便快捷的社交分享功能。
本教程以"Android分享功能开发实例"为主题,主要涵盖了与微信、腾讯微博和新浪微博的集成与分享功能的实现。下面将详细讲解这些知识点: 1. **Android分享基础**: 在Android中,分享通常通过Intent机制来实现。...
这个"Android分享到twitter的demo源码"提供了一个示例,展示了如何在Android应用中实现与Twitter的集成,让用户能够方便地将内容分享到这个全球知名的社交媒体平台。下面我们将深入探讨这个Demo的核心知识点。 1. *...
本示例项目“Android分享Demo”提供了一个简单易用的解决方案,涵盖了QQ分享、微信分享、空间分享以及微博分享等多种分享方式。下面,我们将详细探讨这些分享功能的实现及原理。 首先,QQ分享需要集成QQ SDK,通过...
本项目"android分享项目"提供了一个简单的实现,涵盖了人人网、QQ、QQ好友、QQ空间以及微信好友和朋友圈的分享功能。下面我们将深入探讨这些知识点: 1. **Android Intent机制**: Android系统通过Intent来实现...
Android 分享控件的实现代码详解 Android 分享控件是 Android 应用程序中常用的功能之一,通过分享控件,用户可以将信息分享到社交媒体、信息应用程序等平台上。本文主要介绍了 Android 分享控件的实现代码,包括...
在Android开发中,集成社交平台分享功能是提升用户体验和增加用户互动的重要手段。"android 分享应用内容到QQ空间,腾讯微博,新浪微博,人人网等"这个标题涉及到的是如何将应用内的信息通过各种社交网络进行传播,...
在Android开发中,将用户当前位置分享到社交平台是一项常见的需求,比如微信、QQ、微博等。这个名为"ShareLocationLib-master"的压缩包文件提供了一个完整的解决方案,它整合了定位服务、高德地图API以及社交平台的...
"android分享"这一主题涵盖了多种方式,包括微信、朋友圈、QQ空间、微博以及系统自带的分享机制。下面将详细讲解这些分享方式及其实现方法。 1. **微信分享**: 微信分享涉及到微信开放平台,开发者需要在微信开放...
在Android开发中,分享功能是应用与用户交互的重要部分,特别是在社交网络盛行的今天。"android 分享 微信朋友圈"这个主题涉及到的是如何在Android应用中实现将内容分享到微信朋友圈的功能。以下是对这个主题的详细...
在这个“android分享”的主题中,我们将深入探讨如何实现安卓QQ空间、微信和微博的分享功能。 首先,要实现这些社交平台的分享,你需要集成相应的SDK(Software Development Kit)到你的Android项目中。例如,对于...
这篇内容将深入探讨两种主要的Android分享机制:Intent分享和自定义分享。 首先,我们来了解**Intent分享**,这是Android系统内置的分享机制,也是最常用的方法。Intent是一种结构化的消息对象,用于在不同的组件...
以上就是实现“android分享到朋友圈源码”的主要技术要点,实际开发中还需要考虑用户体验、错误处理等因素,确保分享过程的流畅和稳定。在`WeixinShare`文件夹中,可能包含了实现这一功能的相关代码,包括Activity、...
在Android应用开发中,分享功能是一项非常常见的需求,它允许用户将内容如文字、图片、链接等分享到各种社交平台,如微博、微信、人人网和开心网等。本示例项目"android 分享功能demo 微博 微信 人人 开心 你想到得...
本文将深入解析"Android分享到Facebook的sdk和demo源码",帮助你理解和运用这个SDK。 首先,`examples`目录包含了三个示例工程,它们是: 1. **LoginSample**:这个示例展示了如何在Android应用中实现Facebook的...
总的来说,实现“Android分享到微信好友、朋友圈”需要理解Android的Intent机制,掌握第三方SDK的集成方法,以及对微信开放平台的使用规则有深入了解。在实际开发过程中,除了技术上的实现,还要关注用户体验,确保...