通过调用第三方应用实现彩信或邮件添加附件(Photo,Video,Audio)功能

来源:互联网 发布:goodreader mac版 编辑:程序博客网 时间:2024/05/19 13:26

当发送MMS时,常常要用到增加附件功能,点击附件Button,将跳到第三方应用如图片查看器查看图片,然后选中一张图片,再跳回到MMS编辑界面,最后点击发送即把附件发送出去。

Code: 首先在即将跳转到的第三方应用Activity加上intent-filter 如:

<intent-filter>

                <action android:name="android.intent.action.GET_CONTENT" />

                <category android:name="android.intent.category.OPENABLE" />

                <category android:name="android.intent.category.DEFAULT" />

                <data android:mimeType="*/*" />

</intent-filter>

这样之后将能过滤到此Activity的Intent,实际上,当点击附件Button时,MMS应用就对外broadCast一个Intent,在选中一张图片时,写上

this.setResult(RESULT_OK , data);

 

this.finish();

data 一定得保存图片的真实Uri,然后finish掉此Activity即可

特殊情况: 当需要在多个Activity之间跳转选择附件时,则需要借助startActivityForResult,实现Intent持续传递,

操作流程: 占击Button附件 --------> 第三方app(First Activity) --------> Second Activity -----------> Three Activity ------->选中文件

 

--------->返回至MMS编辑界面

Code:

First Activity 中  Intent intent = new Intent();

 intent.setClass(this,Second.class);

                         startActivityForResult(intent , requestCode);

并覆写                protected void onActivityResult(int requestCode, int resultCode, Intent data) {

this.setResult(RESULT_OK , data);

this.finish();

             };

 

Second Activity 同上, 在 Three Activity 中, 给Intent设置数据Uri( setData(Uri uri)), 然后finish 此activity 将回到 SecondActivity 中的onActivityResult方法, 再回到FirstActivity, 最后回到MMS编辑界面,即可发送附件.

 

原创粉丝点击