使用Intent.createChooser并出现错误:从Activity上下文外部调用startActivity()需要FLAG_ACTIVITY_NEW_TASK标志

问题描述 投票:1回答:1

我想通过服务类中的选项打开共享。在Android 7中运行正常,但在8+操作系统中,它开始显示

android.util.AndroidRuntimeException:从Activity上下文外部调用startActivity()需要FLAG_ACTIVITY_NEW_TASK标志。这真的是您想要的吗?

我也将此标志包含在我的Intent中,但仍显示相同的错误。

还有其他方法可以通过服务类中的选项打开共享吗?

                    Intent i = new Intent(Intent.ACTION_SEND);
                    i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    i.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
                    i.putExtra(Intent.EXTRA_STREAM, rasta);  //rasta -> Uri obj
                    i.setType("image/*");
                    getApplicationContext().startService(Intent.createChooser(i,"Share karna..."));

java android android-intent android-activity service
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.