From now on the OEMs won’t be able to grant any run time permissions to the apps that come pre-installed i.e., the bloatware. All these permissions can be set through the Settings app so that the user can view and set them later. Various smartphone manufacturers including LG, Samsung and Xiaomi ship their phones with a number of pre-installed apps. This gets bad as the user is not allowed to delete the bloatware. While the manufacturers can still have pre-installed apps on the devices, at the end users get to decide what an app does. With the release of Android Marshmallow, Google has taken a number of steps to the address many concerns of the users. Also the full disk encryption will be enabled by default and from now on all smartphones running Android 6.0 will have to include the ‘Doze mode’.
Below is a portion of the document.
9.1 Permissions:
Permissions with a protection level of dangerous are runtime permissions. Applications with targetSdkVersion > 22 request them at runtime. Device implementations:
- MUST show a dedicated interface for the user to decide whether to grant the requested runtime permissions and also provide an interface for the user to manage runtime permissions.
- MUST have one and only one implementation of both user interfaces.
- MUST NOT grant any runtime permissions to pre-installed apps unless: the user’s consent can be obtained before the application uses it or the runtime permissions are associated with an intent pattern for which the pre-installed application is set as the default handler.
Image Source: cyberscylla.com