ショートカットをホーム画面に追加する説明はネット上にたくさんあるのですが、自分がそもそもあまりショートカットについて知らなかったことと、ショートカット自体が最低限持つべきデータってのがちょっと分からなかったので調べてみました。
Intentを使って「ショートカット作って!」と頼んだ時に返ってくるデータがショートカットなんじゃないのかな?という観点で、Intentのドキュメントを参照。
ACTION_CREATE_SHORTCUTで得られる要素を調べてみると、どうやら以下の3つが必須(must contain three extras)とのこと。
(1)
SHORTCUT_INTENT (value: intent)
・・・ショートカットの動作を決定するIntent。
(2)
SHORTCUT_NAME (value: String)
・・・ショートカットの名前。ホームとかランチャーアプリ内で表示される
(3)
SHORTCUT_ICON (value: Bitmap)
・・・ショートカットのアイコン。ホームとかランチャーアプリ内で表示される
あるいは
SHORTCUT_ICON_RESOURCE (value: ShortcutIconResource)
・・・ShortcutIconResourceもアイコンとして使えるようだ。
ショートカットの作成を依頼する側としてはどっちを選択してもいいのですが、作成依頼を受ける側を作る場合は、どちらかにデータがあるという前提で設計しないと、「Bitmapがないからアイコンないや」と間違えそう。注意。
ということなので、動作を決定するインテントと、ユーザーに表示する名前とアイコンで構成されているようです。
今更という感じの話でしたが、アイコンについては気を付けたいです。
参考:Intent ACTION_CREATE_SHORTCUTの"Output"
0 件のコメント:
コメントを投稿