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

    技术2022-05-20  42

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

     


    最新回复(0)