当发送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编辑界面,即可发送附件.