android分享功能开发-短信,微博
2013-04-18 10:30
387 查看
原文:http://hi.baidu.com/jinzhu117/item/7c2c6e3569941425b3c0c553
项目有一个分享功能的需求,需要将图片和文字内容用已安装的可以分享内容的客户端(如腾讯微博、新浪微博、短信、邮件...)分享出去。
碰到分享的问题,如果之前没有整理过这方面资料的程序员肯定是google或者百度一下,我之前也是如此,但是用了网上的代码之后,选择新浪微博、腾讯微博等内容分享平台去分享,都能顺利的将图片文字内容分享出去,选择短信分享时,遇到了纠结的问题,内置的短信程序无法获取到文字内容,只能获取到图片内容,网上的代码如下:
Intent intent = new Intent(Intent.ACTION_SEND);
// 设置Intent的内容类型为image/png.
intent.setType("image/png");
// 通过创建File的对象获取外存(SDCard)中的图片
File f = new File(Constants.PIC_PRE_PATH_NAME);
// 获取文件的URL
Uri u = Uri.fromFile(f);
//支持一般的分享(微博、。。。)
intent.putExtra(Intent.EXTRA_TEXT, text);
intent.putExtra(Intent.EXTRA_STREAM, u);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
activity.startActivity(Intent.createChooser(intent, "分享"));
这段代码在分享到微博等内容分享的平台时没有问题,短信分享时获取不到文字内容。
android中,从一个应用程序访问另一个应用程序可以通过该应用程序的uri去访问,格式如下:
1. Uri uri = Uri.parse("mailto:xxx@abc.com");
2. Intent it = new Intent(Intent.ACTION_SENDTO, uri);
3. startActivity(it);
详细的案例可以参考转发《Intent的一些用法》,列出了很多intent的用法。
从一个activity跳转到另一个activity时,传输数据用的是键值对的形式传输的,目的客户端会根据相应的键获取对应的值,如果键的名称写错,目的客户端获取的该键的值肯定为空,短信分享也是这个原理,获取不到文字内容,肯定是制定的键名称写错了,研究后发现,彩信客户端对应的文字内容的键名称为“sms_body”,很显然,在以上程序中增加一段代码就可以解决获取不到文字内容的问题,增加的代码为:
intent.putExtra("sms_body", “content”);顺利解决。
项目有一个分享功能的需求,需要将图片和文字内容用已安装的可以分享内容的客户端(如腾讯微博、新浪微博、短信、邮件...)分享出去。
碰到分享的问题,如果之前没有整理过这方面资料的程序员肯定是google或者百度一下,我之前也是如此,但是用了网上的代码之后,选择新浪微博、腾讯微博等内容分享平台去分享,都能顺利的将图片文字内容分享出去,选择短信分享时,遇到了纠结的问题,内置的短信程序无法获取到文字内容,只能获取到图片内容,网上的代码如下:
Intent intent = new Intent(Intent.ACTION_SEND);
// 设置Intent的内容类型为image/png.
intent.setType("image/png");
// 通过创建File的对象获取外存(SDCard)中的图片
File f = new File(Constants.PIC_PRE_PATH_NAME);
// 获取文件的URL
Uri u = Uri.fromFile(f);
//支持一般的分享(微博、。。。)
intent.putExtra(Intent.EXTRA_TEXT, text);
intent.putExtra(Intent.EXTRA_STREAM, u);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
activity.startActivity(Intent.createChooser(intent, "分享"));
这段代码在分享到微博等内容分享的平台时没有问题,短信分享时获取不到文字内容。
android中,从一个应用程序访问另一个应用程序可以通过该应用程序的uri去访问,格式如下:
1. Uri uri = Uri.parse("mailto:xxx@abc.com");
2. Intent it = new Intent(Intent.ACTION_SENDTO, uri);
3. startActivity(it);
详细的案例可以参考转发《Intent的一些用法》,列出了很多intent的用法。
从一个activity跳转到另一个activity时,传输数据用的是键值对的形式传输的,目的客户端会根据相应的键获取对应的值,如果键的名称写错,目的客户端获取的该键的值肯定为空,短信分享也是这个原理,获取不到文字内容,肯定是制定的键名称写错了,研究后发现,彩信客户端对应的文字内容的键名称为“sms_body”,很显然,在以上程序中增加一段代码就可以解决获取不到文字内容的问题,增加的代码为:
intent.putExtra("sms_body", “content”);顺利解决。
相关文章推荐
- Android开发之电话短信拍照分享功能实现
- Android实现短信、微信、微博分享功能
- android调用系统的分享功能实现分享到短信,邮件和其他
- 分享一个可快速开发分享功能Android开源组件源码
- Android开发之发送邮件功能的实现(源代码分享)
- android 开发 微博分享时遇到的坑
- Android 一键分享功能开发教程
- Android微博,微信,QQ分享功能的实现
- Android开发工程中集成mob短信验证码功能的方法
- 【android开发】手机应用管理器的实现之实现对应用程序的运行、分享、卸载功能(三)
- Android开发之发送邮件功能的实现(源代码分享)
- android开发——手机短信功能
- Android开发之Navigationdrawer导航抽屉功能的实现(源代码分享)
- android开发我的新浪微博客户端-阅读微博功能篇(6.2)
- android cocos2dx游戏-添加截屏并分享微博功能
- Android开发 如何快速实现分享功能
- Android 记录一次开发微信分享功能的吐槽与思考
- android开发我的新浪微博客户端-阅读微博功能篇(6.2)
- 三、东软实践项目2-基于android平台的应用开发:打电话功与发短信功能
- 【Android开发工作笔记】之接收和拦截解析短信功能