WebSettingsのgetUserAgentStringでユーザエージェント文字列を取得できる・・・。
WebSettings | Android Developers
メニューアイテムの切り替えを前回やったので、メニューでユーザエージェントの切り替えができるようにする・・・。
main.xmlは、
menu_change_phoneuaとmenu_change_pcuaを追加・・・。
strings.xmlには、
PhoneとPCを選択できるように・・・。
MainActivity.javaで、
uaTypeを切り替えられるように・・・。
CHROME_PC_UAは前にハードコードしたPC用UA文字列・・・。
最初は電話用UAなので、webSettings.getUserAgentStringで取得したUA文字列をuaTypePhoneStringに・・・。
uaTypePCStringはCHROME_PC_UA・・・。
currentUAにもuaTypePhoneStringを・・・。
onCreateOptionsMenuでも、いちおうメニューアイテムの切り替えの処理・・・。
currentUAがuaTypePhoneStringなら、menu_change_phoneuaを非表示にして、menu_change_pcuaを表示にする・・・。
逆にuaTypePCStringなら、menu_change_pcuaは非表示、menu_change_phoneuaを表示・・・。
(現在の状況と逆の項目を選択できるようにする・・・。ややこしいので注意・・・。)
onPrepareOptionsMenuで、メニューボタンが押された時も、切り替えの処理・・・。
Phoneを選択したら、webSettings.setUserAgentStringでuaTypePhoneStringを設定・・・。
webView.reloadでリロード・・・。
currentUAをuaTypePhoneStringにする・・・。
PCを選択した場合も、uaTypePCStringに設定・・・。
reload・・・。
currentUAをuaTypePCStringに・・・。
Yahoo!をひらく・・・。
電話サイト・・・。
ここでメニューボタンを押すと、
GoBackとPCだけ表示・・・。
PCを選ぶと、
PCサイトに切り替わった・・・。
メニューボタンを押すと、
Phoneに切り替わっているので、これを押すと、
また電話サイトに戻った・・・。
Sample/android/WebSettings/getUserAgentString/src/WebSettings at master · bg1bgst333/Sample · GitHub