Android アプリ開発 明示的インテントでブラウザを起動する

ダウンロード

仕事でAndroidのアプリ開発していて、つまずいたことをメモとして残しておきます。

今回は、Androidアプリからブラウザ起動する方法についてです。

いつも、Android アプリから指定したURLを開く場合は、以下のような呼び出し方で呼び出してたのですが、

こちらの方法だと、以下のように、Android OSが、URLを開けるアプリケーションを勝手に呼び出してくれるので、ユーザーがどのアプリケーションを使用するか選択できます。

device32

便利っちゃ便利ですが、これを使おうとしたら1つ問題点がありました。

上記の選択画面を表示中にバックキーを押すとインテントの起動をキャンセルできるのです。。

クライアントの要望としては、ダイアログでボタンを押すと、指定URLを外部ブラウザで開くというお話でした。

上記の方法で行くと、バックキーを押した時にインテントの起動をキャンセルされるにもかかわらず、ダイアログのキャセルリスナーも反応しないという問題がでてきました。

ダイアログとしては、ボタンクリックはしているから、キャンセルではないし、インテント起動後は、OSまかせなので知ったこっちゃないよっていう状態。。

どーしよーって思って一生懸命調べていたら、解決策が見つかりました。

「明示的インテントで標準ブラウザを起動する」です。

上記の方法であれば、インテントの選択画面はでないので、インテントの起動をキャンセルされる心配もなく、ダイアログでボタンを押したらすぐブラウザが開きます。

今回は明示的インテントでブラウザ起動するお話でした。

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

ABOUTこの記事をかいた人

主に芸能ニュース・エンタメ・WordPress・iOS・Android・ゲームについて書いてます。 楽しいこと、面白いことが大好き。本業はシステムエンジニア。芸能ニュース、アフィリエイト、スマホゲーム、アプリ開発についての記事を書いていきます。