0

URLはこちら

上記の URL をアプリケーションの webview に読み込むと、http://m.allrecipes.comに変わりますが、同じ URL をブラウザに読み込むと、その URL はhttp://allrecipes.comになります。

モバイル用のページ( http://m.allrecipes.com )をロードせずに、アプリケーションのWebビューに通常のURL( http://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 を作成する部分の直後に配置するだけで済みます。

編集:将来の参考のために、このコード行はユーザーエージェントを変更して、電話ではなくコンピューターからアクセスしているとWebサイトに思わせるようにします.

于 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 に答える