Intent.ShortcutIconResource.fromContext

今回は、ホーム画面などにアプリのショートカットを作る方法について扱う。

Android アプリの機能ごとにショートカットを作る方法 | TechBooster
プログラム備忘録 Android でショートカット作成方法

uses-permissionで、com.android.launcher.permission.INSTALL_SHORTCUTを指定。
ショートカット作成のパーミッション
あと、intent-filterでhttpとhttpsに反応するようにしておく。

Buttonを配置。

起動したら、来たIntentを取得して、場合によっては、中身を表示。

次にButtonが押された時の処理である。

launcherIntentにURLとタイトルを渡す。
ACTION_VIEWかつCATEGORY_DEFAULTなので、自分自身でそのインテントを拾える。
それをショートカットを作成するIntentであるshortcutIntentに登録。
Intent.ShortcutIconResource.fromContextでショートカットのアイコンをセット。

Intent.ShortcutIconResource  |  Android Developers

shortcutIntent.setActionで"com.android.launcher.action.INSTALL_SHORTCUT"をセット。
最終的にsendBroadcastでshortcutIntentを送信。

これらをButtonが押されたら実行する。

buttonでショートカット作成
buttonでショートカット作成

button押すとショートカット作成。
(時刻がおかしいけど、Buttonを押すところのスクショが無かったので後ので代用・・・。)

こんな風にできてる
こんな風にできてる

こんな風にホーム画面にショートカットが作成出来ている。

起動中のアプリがいる
起動中のアプリがいる

起動中のアプリがいる。まあ自分自身。

いったん削除
いったん削除

いったん削除。

ショートカットを押す
ショートカットを押す

ショートカットを押すと、

セットしたタイトル
セットしたタイトル

セットしたタイトルと、

URLを表示
URLを表示

URLを表示。

アプリがいる状態で
アプリがいる状態で

アプリがいる状態で、

ショートカットを押す
ショートカットを押す

ショートカットを押すと、

onCreateに来ないので何も起きない
onCreateに来ないので何も起きない

onCreateに来ないので何も起きない。

Sample/android/Intent.ShortcutIconResource/I.SIR/fromContext at master · bg1bgst333/Sample · GitHub