Android permissions Defining & using application ... · Android protects resources & data with...
Transcript of Android permissions Defining & using application ... · Android protects resources & data with...
![Page 1: Android permissions Defining & using application ... · Android protects resources & data with permissions Used to limit access to: User information – e.g, contacts Cost-sensitive](https://reader033.fdocuments.in/reader033/viewer/2022042802/5f3b850edd529d12c37b0e53/html5/thumbnails/1.jpg)
![Page 2: Android permissions Defining & using application ... · Android protects resources & data with permissions Used to limit access to: User information – e.g, contacts Cost-sensitive](https://reader033.fdocuments.in/reader033/viewer/2022042802/5f3b850edd529d12c37b0e53/html5/thumbnails/2.jpg)
![Page 3: Android permissions Defining & using application ... · Android protects resources & data with permissions Used to limit access to: User information – e.g, contacts Cost-sensitive](https://reader033.fdocuments.in/reader033/viewer/2022042802/5f3b850edd529d12c37b0e53/html5/thumbnails/3.jpg)
Android permissions
Defining & using application permissions
Component permissions & permissions-related APIs
![Page 4: Android permissions Defining & using application ... · Android protects resources & data with permissions Used to limit access to: User information – e.g, contacts Cost-sensitive](https://reader033.fdocuments.in/reader033/viewer/2022042802/5f3b850edd529d12c37b0e53/html5/thumbnails/4.jpg)
Android protects resources & data with permissions
Used to limit access to: User information – e.g, contacts Cost-sensitive API’s – e.g., SMS/MMS System resources – e.g., Camera
![Page 5: Android permissions Defining & using application ... · Android protects resources & data with permissions Used to limit access to: User information – e.g, contacts Cost-sensitive](https://reader033.fdocuments.in/reader033/viewer/2022042802/5f3b850edd529d12c37b0e53/html5/thumbnails/5.jpg)
Permissions are represented as strings
In AndroidManifest.xml, apps declare the permissions
They use themselves
They require of other components
![Page 6: Android permissions Defining & using application ... · Android protects resources & data with permissions Used to limit access to: User information – e.g, contacts Cost-sensitive](https://reader033.fdocuments.in/reader033/viewer/2022042802/5f3b850edd529d12c37b0e53/html5/thumbnails/6.jpg)
Applications specify permissions they use through a <uses-permission> tag
Users must accept these permissions before an application can be installed
![Page 7: Android permissions Defining & using application ... · Android protects resources & data with permissions Used to limit access to: User information – e.g, contacts Cost-sensitive](https://reader033.fdocuments.in/reader033/viewer/2022042802/5f3b850edd529d12c37b0e53/html5/thumbnails/7.jpg)
<manifest … > �…�<uses-permission android:name=�
"android.permission.CAMERA”/> <uses-permission android:name=�
"android.permission.INTERNET”/> <uses-permission adroid:name=�
“android.permission.ACCESS_FINE_LOCATION"”/> … </manifest > See: http://developer.android.com/reference/android/
Manifest.permission.html
![Page 8: Android permissions Defining & using application ... · Android protects resources & data with permissions Used to limit access to: User information – e.g, contacts Cost-sensitive](https://reader033.fdocuments.in/reader033/viewer/2022042802/5f3b850edd529d12c37b0e53/html5/thumbnails/8.jpg)
Select a contact from contacts database
Display a map centered on selected contact’s address
![Page 9: Android permissions Defining & using application ... · Android protects resources & data with permissions Used to limit access to: User information – e.g, contacts Cost-sensitive](https://reader033.fdocuments.in/reader033/viewer/2022042802/5f3b850edd529d12c37b0e53/html5/thumbnails/9.jpg)
![Page 10: Android permissions Defining & using application ... · Android protects resources & data with permissions Used to limit access to: User information – e.g, contacts Cost-sensitive](https://reader033.fdocuments.in/reader033/viewer/2022042802/5f3b850edd529d12c37b0e53/html5/thumbnails/10.jpg)
![Page 11: Android permissions Defining & using application ... · Android protects resources & data with permissions Used to limit access to: User information – e.g, contacts Cost-sensitive](https://reader033.fdocuments.in/reader033/viewer/2022042802/5f3b850edd529d12c37b0e53/html5/thumbnails/11.jpg)
Apps can also define and enforce their own permissions
![Page 12: Android permissions Defining & using application ... · Android protects resources & data with permissions Used to limit access to: User information – e.g, contacts Cost-sensitive](https://reader033.fdocuments.in/reader033/viewer/2022042802/5f3b850edd529d12c37b0e53/html5/thumbnails/12.jpg)
Suppose your application performs a privileged/dangerous operation
You might not want to allow just any application to invoke yours
So you can define & enforce your own permission
![Page 13: Android permissions Defining & using application ... · Android protects resources & data with permissions Used to limit access to: User information – e.g, contacts Cost-sensitive](https://reader033.fdocuments.in/reader033/viewer/2022042802/5f3b850edd529d12c37b0e53/html5/thumbnails/13.jpg)
Simple Application that performs a (just pretend) dangerous action
![Page 14: Android permissions Defining & using application ... · Android protects resources & data with permissions Used to limit access to: User information – e.g, contacts Cost-sensitive](https://reader033.fdocuments.in/reader033/viewer/2022042802/5f3b850edd529d12c37b0e53/html5/thumbnails/14.jpg)
![Page 15: Android permissions Defining & using application ... · Android protects resources & data with permissions Used to limit access to: User information – e.g, contacts Cost-sensitive](https://reader033.fdocuments.in/reader033/viewer/2022042802/5f3b850edd529d12c37b0e53/html5/thumbnails/15.jpg)
IF you don’t want just anyone to run PermissionExampleBoom
Define & enforce an application-specific permission
![Page 16: Android permissions Defining & using application ... · Android protects resources & data with permissions Used to limit access to: User information – e.g, contacts Cost-sensitive](https://reader033.fdocuments.in/reader033/viewer/2022042802/5f3b850edd529d12c37b0e53/html5/thumbnails/16.jpg)
![Page 17: Android permissions Defining & using application ... · Android protects resources & data with permissions Used to limit access to: User information – e.g, contacts Cost-sensitive](https://reader033.fdocuments.in/reader033/viewer/2022042802/5f3b850edd529d12c37b0e53/html5/thumbnails/17.jpg)
Apps that want to use PermissionExampleBoom must now acquire the correct permission
![Page 18: Android permissions Defining & using application ... · Android protects resources & data with permissions Used to limit access to: User information – e.g, contacts Cost-sensitive](https://reader033.fdocuments.in/reader033/viewer/2022042802/5f3b850edd529d12c37b0e53/html5/thumbnails/18.jpg)
![Page 19: Android permissions Defining & using application ... · Android protects resources & data with permissions Used to limit access to: User information – e.g, contacts Cost-sensitive](https://reader033.fdocuments.in/reader033/viewer/2022042802/5f3b850edd529d12c37b0e53/html5/thumbnails/19.jpg)
![Page 20: Android permissions Defining & using application ... · Android protects resources & data with permissions Used to limit access to: User information – e.g, contacts Cost-sensitive](https://reader033.fdocuments.in/reader033/viewer/2022042802/5f3b850edd529d12c37b0e53/html5/thumbnails/20.jpg)
An application can declare/accept the permissions of the Applications it uses
![Page 21: Android permissions Defining & using application ... · Android protects resources & data with permissions Used to limit access to: User information – e.g, contacts Cost-sensitive](https://reader033.fdocuments.in/reader033/viewer/2022042802/5f3b850edd529d12c37b0e53/html5/thumbnails/21.jpg)
![Page 22: Android permissions Defining & using application ... · Android protects resources & data with permissions Used to limit access to: User information – e.g, contacts Cost-sensitive](https://reader033.fdocuments.in/reader033/viewer/2022042802/5f3b850edd529d12c37b0e53/html5/thumbnails/22.jpg)
![Page 23: Android permissions Defining & using application ... · Android protects resources & data with permissions Used to limit access to: User information – e.g, contacts Cost-sensitive](https://reader033.fdocuments.in/reader033/viewer/2022042802/5f3b850edd529d12c37b0e53/html5/thumbnails/23.jpg)
Individual components can set their own permissions, restricting which other components can access them
Component permissions take precedence over application-level permissions
![Page 24: Android permissions Defining & using application ... · Android protects resources & data with permissions Used to limit access to: User information – e.g, contacts Cost-sensitive](https://reader033.fdocuments.in/reader033/viewer/2022042802/5f3b850edd529d12c37b0e53/html5/thumbnails/24.jpg)
Restricts which components can start the associated activity
Checked within execution of startActivity() startActivityForResult()
Throws SecurityException on permissions failure
![Page 25: Android permissions Defining & using application ... · Android protects resources & data with permissions Used to limit access to: User information – e.g, contacts Cost-sensitive](https://reader033.fdocuments.in/reader033/viewer/2022042802/5f3b850edd529d12c37b0e53/html5/thumbnails/25.jpg)
Restricts which components can start or bind to the associated service
Checked within execution of Context.startService() Context.stopService() Context.bindService()
Throws SecurityException on permissions failure
![Page 26: Android permissions Defining & using application ... · Android protects resources & data with permissions Used to limit access to: User information – e.g, contacts Cost-sensitive](https://reader033.fdocuments.in/reader033/viewer/2022042802/5f3b850edd529d12c37b0e53/html5/thumbnails/26.jpg)
Restricts which components can send & receive broadcasts
Permissions checked in multiple places
More on this when we discuss BroadcastReceivers
![Page 27: Android permissions Defining & using application ... · Android protects resources & data with permissions Used to limit access to: User information – e.g, contacts Cost-sensitive](https://reader033.fdocuments.in/reader033/viewer/2022042802/5f3b850edd529d12c37b0e53/html5/thumbnails/27.jpg)
Restrict which components can read & write the data in a ContentProvider
More on this when we discuss ContentProviders
![Page 28: Android permissions Defining & using application ... · Android protects resources & data with permissions Used to limit access to: User information – e.g, contacts Cost-sensitive](https://reader033.fdocuments.in/reader033/viewer/2022042802/5f3b850edd529d12c37b0e53/html5/thumbnails/28.jpg)
The Fragment Class