當發送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編輯界面,即可發送附件.