0

Web ページにアクセスするためにこのアプリを作成しました。サイトのモバイル バージョンまたはデスクトップ バージョンのどちらにアクセスするかを選択する設定を実装しました (ユーザー エージェントを設定するのは汚いハックであることはわかっています)。

Galaxy Tab 2 では正常に動作しますが、Xperia S では動作しません。その理由がわかりません..

link = getIntent().getExtras().getString("link");
    webView = (WebView) findViewById(R.id.webView1);


    webView.getSettings().setBuiltInZoomControls(true);
    webView.getSettings().setJavaScriptEnabled(true);

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

    webView.setWebViewClient(new Callback());

    SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);  
    if(settings.getString("user_agent", "Mobil").equals("Mobil")){
        link = link.substring(24);
        link = "http://mobilsiden.mobi"+link;
        webView.getSettings().setUserAgentString("Mozilla/5.0 (Linux; Android 4.1.1; Nexus 7 Build/JRO03D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Safari/535.19");
    }else{
        webView.getSettings().setUserAgentString("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20120427 Firefox/15.0a1");
    }

    webView.loadUrl(link);

ユーザー エージェントを変更するよりも優れた解決策はありますか (考えられません)。また、あるデバイスでは機能するのに、他のデバイスでは機能しない理由がわかるでしょうか?

前もって感謝します!

4

0 に答える 0