我想将多个图像从我的应用程序共享到其他应用程序。在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);