本文实例讲述了Android实现彩信附件的添加与删除功能。分享给大家供大家参考,具体如下:
[b]添加附件[/b]
在ComposeMessageActivity里
addAttachment(int type) 函数
根据type的不同,分成6个case
[b]case A:[/b]
MediaSelectListActivity.ADD_IMAGE 用gallery选图片:
MessageUtils.selectImage(this, REQUEST_CODE_ATTACH_IMAGE);
起一个intent:
Intent innerIntent = new Intent(Intent.ACTION_GET_CONTENT);
innerIntent.setType(contentType); //image type
Intent wrapperIntent = Intent.createChooser(innerIntent, null);
startActivityForResult(wrapperIntent,requestCode);
createChooser 函数new 一个 Intent intent = new Intent(ACTION_CHOOSER);
也就是起来一个ACTION_CHOOSER的 activity
[b]case B:[/b]
MediaSelectListActivity.TAKE_PICTURE
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, Mms.ScrapSpace.CONTENT_URI);
startActivityForResult(intent, REQUEST_CODE_TAKE_PICTURE);
起一个照相机来拍照了,
[b]case C:[/b]
MediaSelectListActivity.ADD_VIDEO
很像case A
只有在type那里,从image换成video
[b]case D:[/b]
MediaSelectListActivity.RECORD_VIDEO
和case B一样起一个录像机,不过这次有空间大小计算:给文本留1024Byte。
按一条彩信300k算,录像最多使用299k。也即299*1024byte
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
startActivityForResult(intent, REQUEST_CODE_TAKE_VIDEO);
[b]case E:[/b]
MediaSelectListActivity.ADD_SOUND
MessageUtils.selectAudio(this, REQUEST_CODE_ATTACH_SOUND);
Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
[b]case F:[/b]
MediaSelectListActivity.RECORD_SOUND
像B那样,七个录音机。 这次type是aution
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType(ContentType.AUDIO_AMR);
intent.setClassName("com.android.soundrecorder", "com.android.soundrecorder.SoundRecorder");
[b]case G:[/b]
MediaSelectListActivity.ADD_SLIDESHOW
幻灯片slideshow比较尴尬。因为整个彩信附件也叫slideshow,而这里的slideshow是多张图片拼凑在一起的意思。彩信的附件也经常是若干张图片。。。 这里从起名开始就绕的要死了。
Uri dataUri = mWorkingMessage.saveAsMms(false);
Intent intent = new Intent(this, SlideshowEditActivity.class);
intent.setData(dataUri);
startActivityForResult(intent, REQUEST_CODE_CREATE_SLIDESHOW);
saveAsMms函数里面有几个事情:首先把短信强制变成彩信,把短信的内容封装到PduPersister中(可以理解为彩信body)去,new一个SendReq也就是彩信头。生成包含彩信头和body的uri。
最后起一个尴尬的SlideshowEditActivity。 这个东西太麻烦。不看。。
然后是到了onActivityResult函数。 那些从外面的activity读取媒体数据的应用返回的时候都回到这里。
A。图片
图片在onActivityReuslt会得到uri,调用:
这个函数会调用:
[url=http://www.1sucai.cn/Special/402.htm]Android数据库操作技巧总结[/url]》、《[url=http://www.1sucai.cn/Special/367.htm]Android编程之activity操作技巧总结[/url]》、《[url=http://www.1sucai.cn/Special/325.htm]Android文件操作技巧汇总[/url]》、《[url=http://www.1sucai.cn/Special/224.htm]Android编程开发之SD卡操作方法汇总[/url]》、《[url=http://www.1sucai.cn/Special/410.htm]Android开发入门与进阶教程[/url]》、《[url=http://www.1sucai.cn/Special/423.htm]Android资源操作技巧汇总[/url]》、《[url=http://www.1sucai.cn/Special/375.htm]Android视图View技巧总结[/url]》及《[url=http://www.1sucai.cn/Special/124.htm]Android控件用法总结[/url]》
希望本文所述对大家Android程序设计有所帮助。