Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Launcher shortcuts
Search
funnelbit
April 26, 2016
Technology
0
60
Launcher shortcuts
funnelbit
April 26, 2016
Tweet
Share
More Decks by funnelbit
See All by funnelbit
Hatena Engineer Seminar #9
funnelbit
5
7.4k
droidkaigi-2017-renovation
funnelbit
10
11k
Dart
funnelbit
0
260
BottomBarAndSnackBar
funnelbit
0
510
Dagger2 Optional bindings
funnelbit
0
580
WearableRecyclerView
funnelbit
1
820
QucikSettingsTileAPI
funnelbit
0
360
Mobile Vision
funnelbit
0
470
AwarenessAPI
funnelbit
0
150
Other Decks in Technology
See All in Technology
[mercari GEARS 2025] Keynote
mercari
PRO
0
210
Master Dataグループ紹介資料
sansan33
PRO
1
3.9k
レビュー負債を解消する ― CodeRabbitが支えるAI駆動開発
moongift
PRO
0
200
コミュニティと共に変化する 私とFusicの8年間
ayasamind
0
460
Amazon ECS デプロイツール ecspresso の開発を支える「正しい抽象化」の探求 / YAPC::Fukuoka 2025
fujiwara3
11
2.2k
Design and implementation of "Markdown to Google Slides" / phpconfuk 2025
k1low
1
400
決済システムの信頼性を支える技術と運用の実践
ykagano
0
570
どうなる Remix 3
tanakahisateru
2
360
バグと向き合い、仕組みで防ぐ
____rina____
0
270
マイクロリブート ~ACEマインドセットで実現するアジャイル~
sony
1
330
Claude Code 10連ガチャ
uhyo
3
670
QAを"自動化する"ことの本質
kshino
1
110
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
YesSQL, Process and Tooling at Scale
rocio
174
15k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
192
56k
KATA
mclloyd
PRO
32
15k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
For a Future-Friendly Web
brad_frost
180
10k
How GitHub (no longer) Works
holman
315
140k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
How to Ace a Technical Interview
jacobian
280
24k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Transcript
-BVODIFSTIPSUDVUT
͜Μʹͪ w ଜྋ w גࣜձࣾͯͳ w )BUFOBGVOOFMCJU w 5XJUUFS!FYQFSPQFSP
"OESPJE/1SFWJFX w 7VMLBO w -BVODIFSTIPSUDVUT w &NPKJ6OJDPEFTVQQPSU w pY
"OESPJE/1SFWJFX w 7VMLBO w -BVODIFSTIPSUDVUT w &NPKJ6OJDPEFTVQQPSU w pY
-BVODIFSTIPSUDVUT w ΞΫγϣϯΛࢦఆ͠ɺΞϓϦΛϥϯνϟ͔Βى ಈͰ͖ΔΈ w ʮࠓҿΈձͰؼΓ͘ͳΔʯͱϝʔϧ w ࠷ޙͷηʔϒϙΠϯτ͔ΒήʔϜελʔτ
ొਓ w γϣʔτΧοτΛެ։͢Δଆ w 4IPSUDVU*OGP w 4IPSUDVU.BOBHFS w γϣʔτΧοτΛݺͼग़͢ଆ w
-BVODIFS"QQT
γϣʔτΧοτΛ ެ։͢Δଆ
4IPSUDVU*OGP Intent intent = new Intent(this, MainActivity.class); intent.putExtra(EXTRA_ITEM, "itemͩͧ");
return new ShortcutInfo.Builder(this) .setId("first") .setTitle("͜Μʹͪ") .setText("Αͬ͠Ό͍ͧ͘") .setWeight(3) .setIcon(Icon.createWithResource(this, R.mipmap.ic_launcher)) .setIntent(intent) .build();
4IPSUDVU.BOBHFS ShortcutManager shortcutManager = (ShortcutManager)getSystemService(Context.SHORTCUT_SERVICE) ; shortcutManager.addDynamicShortcut(shortcutInfo);
TIPSUDVU w BECTIFMMEVNQTZTTIPSUDVU
γϣʔτΧοτΛ ݺͼग़͢ଆ
-BVODIFS"QQTHFU4IPSUDPVU*OGP List<String> ids = new ArrayList<>(); ids.add("first"); List<ShortcutInfo> shortcuts
= mLauncherApps.getShortcutInfo( "com.experopero.launchershortcutsapplication", ids, userHandle ); for (ShortcutInfo shortcutInfo : shortcuts) { Log.e("title", shortcutInfo.getTitle()); }
-BVODIFS"QQTTUBSU4IPSUDVU mLauncherApps.startShortcut( shortcutInfo.getPackageName(), shortcutInfo.getId(), null, null, userHandle);
-BVODIFS"QQT4IPSUDVU2VFSZ LauncherApps.ShortcutQuery query = new LauncherApps.ShortcutQuery(); query.setPackage("com.experopero.hogeapp"); // query.setActivity(new ComponentName(“packageName”,
“ActivityName”)) // query.setChangedSince(long) query.setQueryFlags(LauncherApps.ShortcutQuery.FLAG_GET_DYN AMIC);
-BVODIFS"QQHFU4IPSUDVUT List<ShortcutInfo> shortcuts = mLauncherApps.getShortcuts( query, mUserManager.getUserProfiles().get(0)); …
⾠ w େͳใΛγϣʔτΧοτͷதʹೖΕͳ͍ w γϣʔτΧοτҰͭͷΞϓϦʹ͖ͭ·Ͱ w σϑΥϧτͷϥϯνϟͷΈڐՄ͞ΕΔ"1*͋Δ w HFU4IPSUDVU*OGP HFU4IPSUDVUT
HFU4IPSUDVU*DPO3FT*Eʜ
ॴײ w ԿͷͨΊͷΈͳͷ͔ʁ w %5PVDIΈ͍ͨͳͷ͕དྷΔʁ
͋Γ͕ͱ͏͍͟͝·ͨ͠