Railsからはじめるプログラミング日記

駆け出しプログラマー(主にRuby on Rails)の業務で役立ったコードをメモしていくブログです。自分だけでなく誰かの役に立てれば本望です。

【Android】Android Studio3のwebViewでchromeなどのブラウザを開かないようにする方法

webアプリ(rails製)をスマホアプリ化したいという依頼がありました。

スマホアプリの作り方はドットインストールでちょこっとだけ学んだことがあったので、webViewでウェブアプリを表示するだけのアプリを作ります。

リンクをタッチするとどのブラウザを立ち上げるか聞かれる

webViewを設置し、webアプリを読み込むまで作ったのでシミュレーターで確認すると、「おお!いい感じ!」

が、リンクをクリックすると「chromeで開く」「その他で開く」というようにデバイス搭載のウェブブラウザで開こうとしてしまう。

これを他のブラウザではなく、制作しているアプリのwebViewで表示させるためにはこの1文が必要!

webView.setWebViewClient(WebViewClient())

具体的にどこに入れるかというと…、webViewのloadUrlの上ですね。

【MainActivity.kt】

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val webView = findViewById(R.id.webView) as WebView
        webView.setWebViewClient(WebViewClient())
        webView.loadUrl("http://192.168.10.176:3700/")
    }
}

これでいちいちchromeで開くか聞かれなくなりますよ。

筆者のオススメ技術書