我想将多个图像从我的应用程序共享到其他应用程序。在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使用此代码?
当使用来自intentservice的示例代码时,我的应用程序因logcat错误而崩溃:


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


所以我加了

shareIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);


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

如何使用intentservice中的共享意图?

最佳答案

这行代码

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


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

Intent chooserIntent = Intent.createChooser(shareIntent, "Share images to..");
chooserIntent.addFlag(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(chooserIntent);

10-08 12:04