4

URL を webview に読み込んで、アプリに表示しています。私が直面している問題は、サイトが私が電話であることを常に認識しているとは限らないことです (なぜそうなるのですか?)。携帯電話のサイトに webview を強制的に送信するにはどうすればよいですか? 現在、私はそのようにしています

webview.getSettings().setUserAgentString("Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3");

しかし、それはうまくいきませんか?iPhoneを使っていないのでうまくいきませんか?ユーザーエージェントを設定しているだけなので、これが理由だとは思いません...

これは関連するコードです (無関係なコードには、インテントから URL を取得して文字列をフォーマットするなどのデータが含まれているだけです)

//package

//imports

public class WebViewing extends Activity {

    private WebView webview;
    private ProgressDialog dialog;

    //init strings

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.webviewer);

        ActionBar actionBar = getActionBar();
        actionBar.setDisplayHomeAsUpEnabled(true);

        //init variables

        //get intent data and format string


        this.webview = (WebView) findViewById(R.id.webView1);
        webview.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
        webview.getSettings().setUserAgentString("Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3"); 
        webview.setWebViewClient(new WebViewClient() {
            @Override
            public void onPageFinished(WebView view, String url) {
                if (dialog.isShowing()) {
                    dialog.dismiss();
                }
            }

            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
        });
        dialog.setMessage("Website wird geladen...\nDies ist abh\u00E4ngig von deiner Internet-Verbindung.");
        dialog.setCanceledOnTouchOutside(false);
        dialog.show();
        webview.loadUrl(sourceURL);
        setTitle("Platz: " + plusRank + " - " + realDate);

    }

    //onCreateOptionsMenu method

    //onOptionsItemSelected method
}

ユーザーエージェント用にこの文字列も試しました

Mozilla/5.0 (Linux; U; Android 2.2; en-us; Nexus One Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1

4

2 に答える 2

11

これらの次の行を入れてみてください:-

webview.getSettings().setJavaScriptEnabled(true);
 webview.getSettings().setUserAgentString("Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3"); 
于 2013-10-30T12:19:44.383 に答える