0

网址在这里

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

有什么方法可以在我的应用程序 webview 中加载普通 url(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);


                }



            }
        });
4

2 回答 2

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 的部分之后放置在您的代码中。

编辑:只是为了让您知道以供将来参考,这行代码更改了用户代理,以欺骗网站认为您是从计算机而不是手机访问它。

于 2013-04-06T20:18:39.133 回答
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();
            }
        }
    }
}
于 2013-04-06T06:35:07.500 回答