Android Marshmallow 使用权限迁移
Android Marshmallow uses permissions migration
我正在尝试按照 google 中的指南在我的应用程序中实现与 Android M
一起使用的权限。 ( http://developer.android.com/training/permissions/requesting.html )
但是,我无法检查 <uses-permission>
,我的问题是:我应该将 <uses-permission>
迁移到 <permission>
吗?
int permissionCheck = ContextCompat.checkSelfPermission(thisActivity,
Manifest.permission.WRITE_CALENDAR);
我的清单权限是这样的:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<permission android:name="android.permission.MEDIA_CONTENT_CONTROL" />
更明确地说,我只能调用这个方法:
int permissionCheck = ContextCompat.checkSelfPermission(this, Manifest.permission.MEDIA_CONTENT_CONTROL);
我无法检查 internet
、wake_lock
或其他 <uses-permission>
I can't check the internet, wake_lock or other
那是因为那些不是 dangerous
权限。对于 Android 6.0,dangerous
权限是:
ACCESS_COARSE_LOCATION
ACCESS_FINE_LOCATION
ADD_VOICEMAIL
BODY_SENSORS
CALL_PHONE
CAMERA
GET_ACCOUNTS
PROCESS_OUTGOING_CALLS
READ_CALENDAR
READ_CALL_LOG
READ_CELL_BROADCASTS
READ_CONTACTS
READ_EXTERNAL_STORAGE
READ_PHONE_STATE
READ_SMS
RECEIVE_MMS
RECEIVE_SMS
RECEIVE_WAP_PUSH
RECORD_AUDIO
SEND_SMS
USE_SIP
WRITE_CALENDAR
WRITE_CALL_LOG
WRITE_CONTACTS
WRITE_EXTERNAL_STORAGE
您会自动获得 normal
权限,例如 WAKE_LOCK
和 INTERNET
。 MEDIA_CONTENT_CONTROL
是signature
级权限;普通Android 应用无法容纳它。
I need to use <uses-permission-sdk-23>
for marshmallow ?
这是您 仅 想在 API 23 级以上设备上请求的权限,但想在旧设备上跳过。
should I migrate the <uses-permission>
into <permission>
?
没有。框架定义框架权限。仅当您定义一些自定义权限供第三方客户端使用您的应用程序的 API.
时,您才会使用 <permission>
我正在尝试按照 google 中的指南在我的应用程序中实现与 Android M
一起使用的权限。 ( http://developer.android.com/training/permissions/requesting.html )
但是,我无法检查 <uses-permission>
,我的问题是:我应该将 <uses-permission>
迁移到 <permission>
吗?
int permissionCheck = ContextCompat.checkSelfPermission(thisActivity,
Manifest.permission.WRITE_CALENDAR);
我的清单权限是这样的:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<permission android:name="android.permission.MEDIA_CONTENT_CONTROL" />
更明确地说,我只能调用这个方法:
int permissionCheck = ContextCompat.checkSelfPermission(this, Manifest.permission.MEDIA_CONTENT_CONTROL);
我无法检查 internet
、wake_lock
或其他 <uses-permission>
I can't check the internet, wake_lock or other
那是因为那些不是 dangerous
权限。对于 Android 6.0,dangerous
权限是:
ACCESS_COARSE_LOCATION
ACCESS_FINE_LOCATION
ADD_VOICEMAIL
BODY_SENSORS
CALL_PHONE
CAMERA
GET_ACCOUNTS
PROCESS_OUTGOING_CALLS
READ_CALENDAR
READ_CALL_LOG
READ_CELL_BROADCASTS
READ_CONTACTS
READ_EXTERNAL_STORAGE
READ_PHONE_STATE
READ_SMS
RECEIVE_MMS
RECEIVE_SMS
RECEIVE_WAP_PUSH
RECORD_AUDIO
SEND_SMS
USE_SIP
WRITE_CALENDAR
WRITE_CALL_LOG
WRITE_CONTACTS
WRITE_EXTERNAL_STORAGE
您会自动获得 normal
权限,例如 WAKE_LOCK
和 INTERNET
。 MEDIA_CONTENT_CONTROL
是signature
级权限;普通Android 应用无法容纳它。
I need to use
<uses-permission-sdk-23>
for marshmallow ?
这是您 仅 想在 API 23 级以上设备上请求的权限,但想在旧设备上跳过。
should I migrate the
<uses-permission>
into<permission>
?
没有。框架定义框架权限。仅当您定义一些自定义权限供第三方客户端使用您的应用程序的 API.
时,您才会使用<permission>