Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
QucikSettingsTileAPI
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
funnelbit
September 28, 2016
Technology
390
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
QucikSettingsTileAPI
funnelbit
September 28, 2016
More Decks by funnelbit
See All by funnelbit
Hatena Engineer Seminar #9
funnelbit
5
7.5k
droidkaigi-2017-renovation
funnelbit
10
11k
Dart
funnelbit
0
310
BottomBarAndSnackBar
funnelbit
0
560
Dagger2 Optional bindings
funnelbit
0
620
WearableRecyclerView
funnelbit
1
860
Mobile Vision
funnelbit
0
500
AwarenessAPI
funnelbit
0
170
Asynchronous Injection
funnelbit
1
300
Other Decks in Technology
See All in Technology
AIエージェント時代、Kaggleにどう取り組むか
takanao
2
470
ドメインエキスパートは いかにして AI を使って プロダクト開発をするか
tatsuyashiraishi
1
250
reInvent2026stby LT00 "Change your life!"
shinichirokawano
1
530
スマートロックを支えるFlutter × ネイティブ連携の実践 / Flutter and Native Integration in Practice: Powering Smart Locks
bitkey
PRO
0
140
なぜ東京にいる私が、新潟の技術コミュニティを運営するのか by 八雲慎之助
yakumo
0
210
あなたのDartコードは丸見えかもしれない ~reFlutterで暴くFlutterアプリの中身と多層防御~
zozotech
PRO
0
740
Agent 活用環境の構築・運用のための AWS サービスのご紹介/agentcore-for-building-and-operating-agents
ren8k
1
310
慶應義塾大学 AI実践05 論文執筆の仕組み化
keio_smilab
PRO
4
3.2k
re:Inventで、人生は変わったのか? / growth-builders-hub-1-reinvent-2026
mhrtech
2
190
仕様駆動開発の、その先へ。決める力と確かめる仕組み
inariku
1
160
FinOpsを導入してマルチプロダクトのコスト最適化を実現する
kworkdev
PRO
0
110
Content Mapper APIの応用例~CSS Modules、言語ファイル~
uhyo
2
490
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Mobile First: as difficult as doing things right
swwweet
225
10k
Product Roadmaps are Hard
iamctodd
55
13k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
550
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.8k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.9k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
750
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
540
Transcript
2VJDL4FUUJOHT5JMF "1*
ࣗݾհ ଜྋ גࣜձࣾͯͳ )BUFOBGVOOFMCJU 5XJUUFS!FYQFSPQFSP
2VJDL4FUUJOHT5JMF"1*
2VJDL4FUUJOHT5JMF"1* w ͔Β"1*͕ެ։͞Εͨ w BOESPJETFSWJDFRVJDLTFUUJOHT5JMF w BOESPJETFSWJDFRVJDLTFUUJOHT5JMF4FSWJDF
5JMF
5JMF w TFU*DPO *DPO TFU-BCFM $IBS4FRVFODF TFU$POUFOU%FTDSJQUJPO JOU TFU4UBUF
JOU w VQEBUF5JMF w 5JMFͷঢ়ଶΛөͤ͞Δʢද͕ࣔมΘΔʣ
5JMF public class QuickSettingsService extends TileService { … Tile tile
= this.getQsTile(); … tile.setIcon(…); tile.setTitle(…); tile.updateTile(); }
5JMF4FSWJDF
5JMF4FSWJDF public class QSService extends TileService { @Override public void
onTileAdded() { super.onTileAdded(); } @Override public void onTileRemoved() { super.onTileRemoved(); } @Override public void onClick() { super.onClick(); } @Override public void onStartListening() { super.onStartListening(); } @Override public void onStopListening() { super.onStopListening(); } } w 4FSWJDFͷࢠΫϥε w ܧঝͯ͠͏
5JMF4FSWJDF w PO5JMF"EEFE w 5JMF͕Ճ͞ΕͨΒݺΕΔ w PO5JMF3FNPWFE w
5JMF͕আ͞ΕͨΒݺΕΔ w PO$MJDL w 5JMF͕ΫϦοΫͨ͠ΒݺΕΔ
5JMF4FSWJDF w PO4UBSU-JTUFOJOH w Ϧεχϯάঢ়ଶʹೖͬͨΒݺΕΔ w PO4UPQ-JTUFOJOH w
Ϧεχϯάঢ়ଶͰແ͘ͳͬͨΒݺΕΔ
"OESPJE.BOJGFTU
"OESPJE.BOJGFTU <service android:name=".QuickSettingsService" android:icon="@drawable/ic_android_black_24dp" android:label="@string/tile_label" android:permission="android.permission.BIND_QUICK_SETTINGS_ TILE"> <intent-filter> <action android:name="android.service.quicksettings.action.QS_TILE"
/> </intent-filter> </service>
"OESPJE.BOJGFTU <service android:name=".QuickSettingsService" android:icon="@drawable/ic_android_black_24dp" android:label="@string/tile_label" android:permission="android.permission.BIND_QUICK_SETTINGS_ TILE"> <intent-filter> <action android:name="android.service.quicksettings.action.QS_TILE"
/> </intent-filter> </service>
5JMF4FSWJDF TUBSU"DUJWJUZ"OE$PMMBQTF TIPX%JBMPH VOMPDL"OE3VO
TUBSU"DUJWJUZ"OE$PMMBQTF w "DUJWJUZىಈ͠2VJDL4FUUJOHTΛͨͨΜͰ͘ΕΔ w ϩοΫதͩͱͨͨΊͳ͍ʢ"DUJWJUZىಈ͢Δʣ public class QSIntentService extends TileService
… Intent intent = new Intent(getApplicationContext(), ResultActivity.class); startActivityAndCollapse(intent); … }
TIPX%JBMPH w 2VJDL4FUUJOHTΛดͯ͡%JBMPHΛग़͢ w ϩοΫதͩͱͨͨΊͳ͍ʢ%JBMPHىಈ͢Δʣ public class QSDialogService extends TileService
{ … DialogFragment dialog = DialogFragment.create(); showDialog(dialog); … }
VOMPDL"OE3VO w ʮΞϯϩοΫͨ͠Βಈ͘ʯॲཧ͕͔͚Δ public class QSService extends TileService { …
@Override public void onClick() { unlockAndRun(new Runnable() { @Override public void run() { Log.e("ಈ͘Α", "΄͓͓͓͓͓͓͓"); } }); } … }
·ͱΊ w ཱͯΕΔ͔Ͳ͏͔ϓϩμΫτʹΑΔ w ʮϩοΫதԡͤΔʯͱ͍͏ͷ͕ϙΠϯτ w Ϣʔβʹ͓͍ͯΒ͏ಋઢΛͲ͏͢Δ͔ʁ
ࢀߟ w IUUQTDPEFMBCTEFWFMPQFSTHPPHMFDPN DPEFMBCTBOESPJEORVJDLTFUUJOHT JOEFYIUNM JOEFY''JP
͋Γ͕ͱ͏͍͟͝·ͨ͠