【问题标题】:twitter url can not open in android webviewtwitter url无法在android webview中打开
【发布时间】:2012-04-23 18:58:25
【问题描述】:

我是 android 的初学者。 我想在 webview 中打开 twitter url。我有一个推特网址(http://twitter.com/..)。我尝试使用此代码,但无法在 webview 中打开。

代码:

webView.getSettings().setJavaScriptEnabled(true);

    webView.setWebChromeClient(new WebChromeClient() {
        public void onProgressChanged(WebView view, int progress)
        {
            activity.setTitle("  Loading...");
            activity.setProgress(progress * 100);

            if(progress == 100){

                activity.setTitle(R.string.app_name);
                //view.canGoBack();
            }
        }
    });
   webView.setWebViewClient(new WebViewClient() {


public boolean shouldOverrideUrlLoading(WebView view, String url){              
    view.loadUrl(url);
    view.canGoBack();

    return true;
    }

    });

     //The URL that webview is loading
    webView.loadUrl(uri);
}

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if(event.getAction() == KeyEvent.ACTION_DOWN){
        switch(keyCode)
        {
        case KeyEvent.KEYCODE_BACK:
            if(webView.canGoBack() == true){
                webView.goBack();
            }else{
                finish();
            }
            return true;
        }

    }
    return super.onKeyDown(keyCode, event);
}

帮帮我.....

【问题讨论】:

  • 你能加载任何其他页面吗?

标签: android android-webview


【解决方案1】:

我的问题得到了解决方案

webView.getSettings().setUserAgentString("Mozilla/5.0 (Linux; U; Android 2.0; en-us; Droid Build/ESD20) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17");

【讨论】:

    【解决方案2】:

    试试这个:

    Uri uri = Uri.parse(Place your URL here);
    Intent intent = new Intent(Intent.ACTION_VIEW, uri);
    startActivity(intent);
    

    【讨论】:

      【解决方案3】:

      希望对您有所帮助:

      DisplayWeb.java:

      public class DisplayWeb extends Activity {
      
      
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          // TODO Auto-generated method stub
          super.onCreate(savedInstanceState);
          setContentView(R.layout.web);
          String url = "http://www.twitter.com";
      
          System.out.println("++++URL GOT = "+url);
          WebView myWebView = (WebView) findViewById(R.id.webview);
          myWebView.getSettings().setJavaScriptEnabled(true);
          myWebView.getSettings().setBuiltInZoomControls(true);
          myWebView.getSettings().setSupportZoom(true);
          myWebView.loadUrl(url);
          Button back = (Button) findViewById(R.id.back);
          back.setOnClickListener(new View.OnClickListener() {
      
              public void onClick(View v) {
                  // TODO Auto-generated method stub
                  DisplayDirections.this.finish();
              }
          });
      }
      }
      

      web.xml:

      <?xml version="1.0" encoding="utf-8"?>
      <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
           android:layout_width="fill_parent"
           android:layout_height="fill_parent">
       <WebView
      android:id="@+id/webview"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      />
      </RelativeLayout>
      

      希望对您有所帮助!

      【讨论】:

      • noo 试试它的 web 视图,以便在你自己的布局中添加 web 视图。您可以根据需要编辑布局。这只是如何在活动和布局中添加 web 视图的示例。
      • 只需在布局中您想要的位置添加 WebView 元素,然后在您使用相应布局的位置添加实现。
      • 我正在尝试在 webview 中加载 weburl,但是每次我转到浏览器时,有任何方法可以保持当前活动并在 webview 中加载 weburl。如果我加载 webView.loaddata() 之类的数据,那么它在当前活动中是打开的,我不知道为什么会发生这种情况
      【解决方案4】:

      我遇到了同样的问题,并且一直在做一些搜索以寻找这个问题的可能答案。

      破解浏览器代理可能会奏效,但这并不是一个好主意。

      这篇文章中给出的解决方案也对我有用,我认为是一个更好的解决方案:Problems loading mobile.twitter in webview

      希望对您有所帮助。

      【讨论】:

        猜你喜欢
        • 2011-10-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-09-23
        • 1970-01-01
        相关资源
        最近更新 更多