当前位置: 首页 > 知识库问答 >
问题:

使用意图。createChooser和getting错误:从活动上下文外部调用startActivity()需要标志_Activity_NEW_TASK标志

闻人业
2023-03-14

我想从服务类中通过期权打开股票。它在Android7中运行良好,但在8操作系统中开始显示

android.util.AndroidRuntimeExcture:从活动上下文外部调用starActive()需要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..."));

共有1个答案

孟成化
2023-03-14

我ntent.createChooser创建了一个Intent,所以您需要在该意图上设置FLAG_ACTIVITY_NEW_TASK标志,例如,

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

您还调用了startService,而不是startActivity——请确保也纠正这一点。

 类似资料: