[Samsung Galaxy J7 Questions & Answers] haro25:
Android Developers

navigation

Training

Getting Started

Building Your First App

Supporting Different Devices

Managing the Activity Lifecycle

Building a Dynamic UI with Fragments

Saving Data

Interacting with Other Apps

Working with System Permissions

Declaring Permissions

Requesting Permissions at Run Time

Best Practices for Runtime Permissions

Building Apps with Content Sharing

Building Apps with Multimedia

Building Apps with Graphics & Animation

Building Apps with Connectivity & the Cloud

Building Apps with Location & Maps

Building Apps with User Info & Sign-In

Building Apps for Wearables

Building Apps for TV

Building Apps for Auto

Best Practices for Interaction & Engagement

Best Practices for User Interface

Best Practices for User Input

Best Practices for Background Jobs

Best Practices for Performance

Best Practices for Security & Privacy

Best Practices for Permissions & Identifiers

Best Practices for Testing

Using Google Play to Distribute & Monetize

HOME

DESIGN

DEVELOP

Training

API Guides

Reference

Samples

Android Studio

Android NDK

Google Services

DISTRIBUTE

PREVIEW

Develop

Training

Getting Started

Working with System Permissions

Requesting Permissions at Run Time

PreviousNext

This lesson teaches you to

Check For Permissions

Request Permissions

Dependencies and Prerequisites

Android 6.0 (API level 23)

You should also read

Normal and Dangerous Permissions

Beginning in Android 6.0 (API level 23), users grant permissions to apps while the app is running, not when they install the app. This approach streamlines the app install process, since the user does not need to grant permissions when they install or update the app. It also gives the user more control over the app's functionality; for example, a user could choose to give a camera app access to the camera but not to the device location. The user can revoke the permissions at any time, by going to the app's Settings screen.

System permissions are divided into two categories, normal and dangerous:

Normal permissions do not directly risk the user's privacy. If your app lists a normal permission in its manifest, the system grants the permission automatically.

Dangerous permissions can give the app access to the user's confidential data. If your app lists a normal permission in its manifest, the system grants the permission automatically. If you list a dangerous permission, the user has to explicitly give approval to your app.

For more information, see Normal and Dangerous Permissions.

On all versions of Android, your app needs to declare both the normal and the dangerous permissions it needs in its app manifest, as described in Declaring Permissions. However, the effect of that declaration is different depending on the system version and your app's target SDK level:

If the device is running Android 5.1 or lower, or your app's target SDK is 22 or lower: If you list a dangerous permission in your manifest, the user has to grant the permission when they install the app; if they do not grant the permission, the system does not install the app at all.

If the device is running Android 6.0 or higher, and your app's target SDK is 23 or higher: The app has to list the permissions in the manifest, and it must request each dangerous permission it needs while the app is running. The user can grant or deny each permission, and the app can continue to run with limited capabilities even if the user denies a permission request.

Note: Beginning with Android 6.0 (API level 23), users can revoke permissions from any app at any time, even if the app targets a lower API level. You should test your app to verify that it behaves properly when it's missing a needed permission, regardless of what API level your app targets.

This lesson describes how to use the Android Support Library to check for, and request, permissions. The Android framework provides similar methods as of Android 6.0 (API level 23). However, using the support library is simpler, since your app doesn't need to check which version of Android it's running on before calling the methods.

On marshmallow you control the permissions of the apps so im not sure what this person is all talking about if you dont want a feature turn off the permissions for it