创建意图

时间:2015-05-29 19:06:42

标签: android android-intent

我正在尝试向Photoshop Express发送一个现在接受原始图像的意图。在这个例子中,我正在发送一个佳能CR2文件。无论我如何指定操作,数据或类型,我都无法将PSE作为选项弹出。

PSE清单:

<activity android:configChanges="orientation|screenSize" android:launchMode="singleTask" android:name="com.adobe.psmobile.PSXEditActivity">
            <meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.adobe.psmobile.MainActivity"/>
            <intent-filter>
                <action android:name="android.intent.action.EDIT"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <data android:mimeType="image/jpeg"/>
                <data android:mimeType="image/png"/>
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.EDIT"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <data android:scheme="file"/>
                <data android:mimeType="*/*"/>
                <data android:host="*"/>
                <data android:pathPattern=".*\\.cr2"/>
                <data android:pathPattern=".*\\.CR2"/>
                ...

数百种尝试组合中的一种:

//        Intent action = new Intent();
        Intent action = new Intent(Intent.ACTION_EDIT);
//        action.setType("*/*");
        action.setData(media.getUri());
        action.setFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
        action.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);

        Intent chooser = Intent.createChooser(action, getResources().getString(R.string.edit));
        startActivityForResult(chooser, REQUEST_CODE_EDIT);

Ex uri:

file:///storage/sdcard1/_test/canon_1d_miv_03.CR2

ES File explorer会将一个CR2文件发送给PSE,但在任何情况下我都不能将它作为除jpeg以外的任何选项出现。有谁知道如何格式化PSE会消耗的意图?

2 个答案:

答案 0 :(得分:0)

你说你在ES文件浏览器中打开文件,也许它已经为某些文件扩展名设置了默认值?

尝试通过以下方式重新设置它们:

  1. 长按项目
  2. 更多
  3. 打开为
  4. 清除默认值
  5. 您可能需要多次执行此操作才能进行单独的扩展。

答案 1 :(得分:0)

信不信由这就是答案:

xml

请注意空字符串为type。产生选项的唯一另一件事是&#34; * / *&#34;,但这显示了几十个应用程序。

我仍然不明白为什么空字符串有效,所以如果有人有解释请告诉我。