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

andorid白日梦服务webview(上下文需要flag_activity_new_task标志)

华聪
2023-03-14

我已经实现了android daydream服务,在其中我播放了一段来自asserts的视频,我在那里放了一个按钮,点击listener我想打开一个带有链接的webview,一切正常,但我无法处理webview,因为当我点击按钮时,这个html" target="_blank">消息就会出现

不幸的是,应用程序已停止

日志中出现的错误消息是

AndroidRuntime(827):致命的例外:android。util。AndroidRuntimeException:从Activity con text外部调用startActivity()需要使用标志_Activity_NEW_TASK标志。这真的是你想要的吗?

我已经在xml文件中创建了webview

我调用webview的代码是:

final WebView webView = (WebView)this.findViewById(R.id.webView1);

   button.setOnClickListener(new View.OnClickListener() {
       public void onClick(View v) {
           // Perform action on click   
           vv.stopPlayback();
           vv.setVisibility(View.GONE);//for media player

           webView.setVisibility(View.VISIBLE);
           webView.loadUrl("http://www.google.com");
       }
   });

共有1个答案

曾河
2023-03-14

经过大量搜索,我找到了我问题的答案,这里的链接对我帮助最大

链接

基本上,我只是把这个类代码放在我的android dreamservice中

    private class LinkLauncher extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(intent);
        finish();
        return true;
    }

并使用webview,如下所示

           WebView webview = (WebView) findViewById(R.id.webView1);
           webview.setVisibility(View.VISIBLE);
           webview.setWebViewClient(new LinkLauncher());

           WebSettings webSettings = webview.getSettings();
           webSettings.setJavaScriptEnabled(true);

           webview.loadUrl("http://www.google.com");

我写的答案可能会对其他人有所帮助。谢谢

 类似资料:
  • 问题内容: 我为我所在的公司创建了一个通用的可重用类,以创建一些通用的界面元素。 该类采用与构造中相同的单个参数:应用程序上下文。 其中一种方法,可让您传递用作点击动作的意图。 这是完整的方法声明: onClickEvent中使用的最后一个属性确定是调用选择器还是直接进入意图。 如评论中所述,只要我不提供使用选择器的功能,一切都可以正常工作(此列表中的所有内容都会获得一个新的活动标志,我对此很清楚

  • 问题内容: 我在Android的新的,试图通过一个适配器去到下一个活动,我使用同一个,下面是代码: 这是随之而来的错误: 我尝试了此解决方案,但“下一个活动”不会返回到上一个活动。 我的解决方案:(但是没有用) 以下是完整的适配器代码: 问题答案: 在你传递到构造函数应该是万军此。然后,您将不会收到此错误。

  • 大家好,我是android开发的新手,我想在我的应用程序webView中下载一个pdf文件,我使用下面的代码,但是当我尝试打开它时,应用程序将我重定向到my phone web浏览器,我该如何解决它,我该如何在我的webView中下载pdf文件

  • 当我从BroadCastReceiver启动活动时,会出现异常“从活动上下文外部调用startActivity(),需要标记_activity_NEW_TASK”。下面是我的接收代码 } 你可以看到,我已经设置了FLAG_ACTIVITY_NEW_TASK。我想指出另一件事。我从工作线程中的HTTP请求发送broadcastreceiver。代码最像这样: 有人遇到问题吗?任何帮助都很好。

  • 当我运行时,一切都很酷,但当Travis运行相同的命令时,我得到的是 警告:未设置“IncludeAntrunTime”,默认值为Build.sysclasspath=Last;对于可重复构建[javac]将12个源文件编译到/home/travis/build/awesometeamplayer/event-receiver/build[javac]注意:/home/travis/build/a