Java中如何解决``从Activity上下文外部调用startActivity()需要...''错误

时间:2019-04-24 19:59:46

标签: java android

我尝试从意图中尝试执行的卡片中打开CustomTabsIntent,但遇到下一个错误

  

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

这是我的应用程序的代码: 我希望使用de url中的url打开一个customtabinetnt,但是实际输出是错误的

2 个答案:

答案 0 :(得分:0)

我为此更改了代码:

viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {


                CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder();
                builder.addDefaultShareMenuItem();
                builder.setToolbarColor((R.color.colorPrimary));
                builder.setShowTitle(true);
                CustomTabsIntent customTabsIntent = builder.build();
                CustomTabsHelper.addKeepAliveExtra(v.getContext(), customTabsIntent.intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
                CustomTabsHelper.openCustomTab(v.getContext(),customTabsIntent,Uri.parse(url),new WebViewFallback());


        }
    } );

这是用于从viewholder.itemview运行CustomTabsIntent的正确代码

答案 1 :(得分:0)

customTabsIntent.intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);