You should also read
Design Patterns
Permissions
To protect the system's integrity and the user's privacy, Android runs each app in a limited access sandbox. If the app wants to use resources or information outside of its sandbox, the app has to explicitly request permission. Depending on the type of permission the app requests, the system may grant the permission automatically, or the system may ask the user to grant the permission.
This class shows you how to declare and request permissions for your app.
Lessons
- Declaring Permissions
- Learn how to declare the permissions you need in your app manifest.
- Requesting Permissions at Run Time
- Learn how to request permissions from the user while the app is running. This lesson only applies to apps on devices running Android 6.0 (API level 23) and higher.
- Permissions Best Practices
- Guidelines for creating the best user experience in requesting and using permissions.