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);
ユーザー エージェントを変更するよりも優れた解決策はありますか (考えられません)。また、あるデバイスでは機能するのに、他のデバイスでは機能しない理由がわかるでしょうか?
前もって感謝します!