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
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
3Dシーンの圧縮
fadis
1
750
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
13
3.6k
The ROI of Quarkus for Spring Boot Applications
hollycummins
0
110
AIで効率化できた業務・日常
ochtum
0
130
タクシーアプリ『GO』の バックエンド開発のおける AI利活用と若者のすべて
pyama86
3
2k
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
540
CSC307 Lecture 17
javiergs
PRO
0
320
TAKTでAI駆動開発の品質を設計する
j5ik2o
6
1.2k
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
0
220
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.6k
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
3
1.3k
コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —
ioki
0
190
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Between Models and Reality
mayunak
4
330
Large-scale JavaScript Application Architecture
addyosmani
515
110k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
62
44k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
580
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
140
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
420
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
The Invisible Side of Design
smashingmag
302
52k
The SEO identity crisis: Don't let AI make you average
varn
0
490
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
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!