如何在Android应用程序中使用webview作为浏览器?

时间:2013-04-06 06:24:28

标签: android webview

URL HERE

当我在我的应用程序webview中加载上述网址时,它会更改为http://m.allrecipes.com但是当我在浏览器中加载相同的网址时,其网址为http://allrecipes.com

有没有办法在我的应用程序webview中加载普通网址(http://allrecipes.com)而不加载移动设备页面http://m.allrecipes.com

任何人都知道请帮帮我

go.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                if (Searchtext.getText().toString().equalsIgnoreCase("")) {

                    alertDialog = new AlertDialog.Builder(OnlineRecipe.this)
                            .create();
                    alertDialog.setTitle("Message");
                    alertDialog.setMessage("Please Enter Some Word");

                    alertDialog.setButton("OK",
                            new DialogInterface.OnClickListener() {
                                public void onClick(DialogInterface dialog,
                                        int which) {
                                    // Write your code here to execute after
                                    // dialog closed
                                    alertDialog.dismiss();
                                }
                            });

                    // Showing Alert Message
                    alertDialog.show();
                } else {

                    String url = "http://allrecipes.com/search/default.aspx?qt=k&wt="
                            + Searchtext.getText().toString()
                            + "&rt=r&origin=Recipe Search Results";
                    webview.getSettings().setJavaScriptEnabled(true);
                    webview.loadUrl(url);


                }



            }
        });

2 个答案:

答案 0 :(得分:4)

如果我理解正确,您只想在桌面模式下在WebView中加载http://allrecipes.com ...如果是这种情况,请使用以下代码使其正常工作:

webview.getSettings().setUserAgentString("Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/20 Safari/537.31");

这只需要在创建WebView对象webview的部分之后放在代码中。

编辑:只是为了让您知道以后的参考,这行代码会改变用户代理,诱使网站认为您是从计算机而不是手机访问它。

答案 1 :(得分:0)

不记得在您的:AndroidManifest.xml

中添加活动

示例:

    <activity android:name=".Second"
              android:label="@string/app_name"
              android:theme="@android:style/Theme.NoTitleBar"
              android:configChanges="orientation|keyboardHidden">
    </activity>

班级:

import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class Second extends Activity {

    WebView webView;

    @Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        webView = (WebView)findViewById(R.id.webview);

        webView.getSettings().setJavaScriptEnabled(true);

        webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);

        webView.setWebViewClient(new WebClient());

        webView.loadUrl(getIntent().getExtras().getString("url"));

    }



    public class WebClient extends WebViewClient
    {
        ProgressDialog pd; // Create Proggress Dialog to show if User Internet connection is slow

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url)
        {
            Intent i = new Intent(Second.this, Second.class);
            i.putExtra("url", url);
            startActivity(i);

            return true;
        }

        public void onPageStarted(WebView view, String url, Bitmap favicon)
        {
            pd = ProgressDialog.show(Second.this, "",getString(R.string.loading), true);
            pd.setCancelable(true);
        }

        public void onPageFinished(WebView view, String url)
        {
            if (pd.isShowing()) {
                pd.dismiss();
            }
        }
    }
}