小编Jai*_*ray的帖子

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

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

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

我也已将此标志包含在我的意图中,但它仍然显示相同的错误。

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

                    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..."));

Run Code Online (Sandbox Code Playgroud)

java service android android-intent android-activity

2
推荐指数
1
解决办法
944
查看次数