1

我想将多个图像从我的应用程序共享到其他应用程序。在 Android 的开发者页面上,我发现:

Intent shareIntent = new Intent();
        shareIntent.setAction(Intent.ACTION_SEND_MULTIPLE);
        shareIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, SavedImages);
        shareIntent.setType("image/*");
        startActivity(Intent.createChooser(shareIntent, "Share images to.."));

如何使用意图服务中的此代码?使用 intentservice 中的示例代码时,我的应用程序因 logcat 错误而崩溃:

从 Activity 上下文之外调用 startActivity 需要标志 FLAG_ACTIVITY_NEW_TASK

所以我加了

shareIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

但我仍然遇到同样的错误,我的应用程序崩溃了。

如何使用意图服务中的共享意图?

4

1 回答 1

4

这行代码

startActivity(Intent.createChooser(shareIntent, "Share images to.."));

这意味着您创建一个意图对象,该对象用于启动对话活动,供用户选择处理您的 shareIntent 的活动。因此,在这种情况下,显示选择器对话框活动的意图需要标志 FLAG_ACTIVITY_NEW_TASK
您可以尝试:

Intent chooserIntent = Intent.createChooser(shareIntent, "Share images to..");
chooserIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(chooserIntent);
于 2013-10-06T19:54:09.493 回答