android daydream服务webview(上下文需要flag_activity_new_task标志)

时间:2014-01-07 16:06:54

标签: android webview android-webview android-service android-context

我已经实现了android daydream服务,我在其中播放了来自断言的视频, 我在那里放了一个按钮和onclick听众我想用一个链接打开一个webview,每一件事情都是正确但我无法处理webview,因为当我点击按钮时出现此消息

Unfortunatley App已停止

并且日志中显示的错误消息是

  

AndroidRuntime(827):致命异常:   android.util.AndroidRuntimeException:从Activity con文本外部调用startActivity()需要FLAG_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 个答案:

答案 0 :(得分:0)

经过大量搜索,我发现我的问题的答案是最能帮助我的链接

link

基本上我只是把这个类代码放在我的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");

我写的答案可能会帮助其他人。 感谢