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
Android Runtime Permissions
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Jay Newstrom
October 14, 2015
Programming
130
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Android Runtime Permissions
Jay Newstrom
October 14, 2015
Other Decks in Programming
See All in Programming
Google Apps Script で Ruby を動かす
kawahara
0
130
5分で問診!Composer セキュリティ健康診断
codmoninc
0
820
FDEが実現するAI駆動経営の現在地
gonta
2
250
torikago - Ruby::Boxで照らすモジュラモノリスの実行境界
se4weed
1
330
AI時代のPHPer生存戦略 ~「言語、もうなんでもよくない?」に本気で向き合う~
vivion
0
220
【やさしく解説 設計編・中級 #6】良いアーキテクチャとは ~ 一本の登り道の、行き先 ~
panda728
PRO
0
200
Claude Team Plan導入・ガイド
tk3fftk
0
250
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
2.8k
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
1
3.4k
使用 Meilisearch 建立新聞搜尋工具
johnroyer
0
210
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
170
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
120
Featured
See All Featured
Exploring anti-patterns in Rails
aemeredith
3
450
The SEO identity crisis: Don't let AI make you average
varn
0
520
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
190
How to Talk to Developers About Accessibility
jct
2
470
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Designing for Timeless Needs
cassininazir
1
430
The Curious Case for Waylosing
cassininazir
1
450
The untapped power of vector embeddings
frankvandijk
2
1.8k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
Marketing to machines
jonoalderson
1
5.6k
Transcript
Android Runtime Permissions Jay Newstrom
Agenda • Workflow differences • How to update your app
• Gotchas • Organizing Code
Installing an App
None
None
None
Installing an App on Marshmallow
None
None
None
None
Benefits • App updates • User trust • User control
Normal and Dangerous Permissions Normal Dangerous Internet Photos Bluetooth Files
Flashlight Location Vibrate Contacts
Permission Groups Calendar Camera Contacts Location Microphone Phone Sensors SMS
Storage
Permission Groups Calendar Contacts READ_CALENDAR READ_CONTACTS WRITE_CALENDAR WRITE_CONTACTS GET_ACCOUNTS
How to Upgrade • build.gradle changes • targetSdkVersion = 23
• Support v4 Library = 23.0.1 • Ask before using dangerous permissions • No manifest changes
How to Upgrade • ContextCompat.checkSelfPermission • ActivityCompat.shouldShowRequestPermissionRationale • ActivityCompat.requestPermissions •
Override onRequestPermissionsResult
Gotchas • Sharing • Permission denied • Know when dangerous
permissions are used • Unknown permissions are denied (old versions of Android)
Required Permissions • Snapchat
Organizing Code • Assume Permission Denied • Ask Android for
permission • When Android says you have permission, perform the operation
More Information • http://developer.android.com/guide/topics/security/permissions.html • https://developer.android.com/training/permissions/ • http://developer.android.com/reference/android/support/v4/content/ ContextCompat.html •
http://blog.danlew.net/2015/10/07/sharing-files-on-android-in-a-world-with-runtime- permissions/ • https://medium.com/ribot-labs/exploring-the-new-android-permissions-model- ba1d5d6c0610 • https://commonsware.com/blog/2015/10/07/runtime-permissions-files-action-send.html • https://github.com/tbruyelle/RxPermissions
Thanks!