我一直在寻找解决方案,但我越来越沮丧。
我希望我的应用能够为其他应用提供内容。例如:使用 GoogleMail 应用程序时,您可以添加附件。将打开一个对话框,显示所有可以为附件提供文件的应用程序。我的应用程序已经在对话框中,因为我用这样的意图过滤器定义了一个活动:
<intent-filter >
<action android:name="android.intent.action.GET_CONTENT" />
<action android:name="android.intent.action.PICK" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.OPENABLE" />
<data android:mimeType="image/*" />
</intent-filter>
因此,当您选择我的应用程序时,它正在启动活动。该活动允许用户选择一张照片并将其写入 SD 卡。到目前为止,一切都很好。但是我该如何正确退货呢?因为 GoogleMail 中的附件永远不会生成。我以这种方式返回它:
if(file!=null)
{
Intent resultIntent=new Intent();
resultIntent.setType("image/jpg");
Uri uri=Uri.fromFile(file);
//uri=Uri.parse(uri.toString().replace("file", "content"));
resultIntent.putExtra(Intent.EXTRA_STREAM, uri);
resultIntent.putExtra(Intent.EXTRA_UID, uri);
resultIntent.setData(uri);
setResult(RESULT_OK, resultIntent);
finish();
}
如果有人可以帮助我,我会非常高兴。我相信这是我做错的一件简单的事情,但我找不到任何可以帮助我的东西。:(
此致