android M(6.0) 권한 적합
9179 단어 안드로이드 기술
안드로이드 6.0의 가장 큰 변화는 권한의 신청입니다. 6.0 이하일 때 저희 앱에 필요한 권한은 manfest에서 신청하고 사용하십시오
.앱을 설치할 때 권한 성명에 따라 권한 목록을 표시하고 사용자는 동의한 권한만 앱을 설치할 수 있습니다.6.0 이후에 우리는 직접 설치할 수 있다. 앱이 우리가 부적절한 권한을 부여해야 할 때 사용자는 거부할 수 있다. 예를 들어 앱이 통신록에 접근해야 하기 때문에 우리는 이 권한을 거부할 수 있다.또한 우리는 설정 페이지에 가서 구체적인 응용 아래의 권한 옵션에서 응용 권한을 보고 변경할 수 있다.안드로이드 6.0의 새로운 권한 메커니즘은 사용자의 프라이버시 데이터를 잘 보호합니다.새로운 규칙은 권한을 두 가지 유형으로 나눈다
일반 권한은 다음과 같습니다.
ACCESS_LOCATION_EXTRA_COMMANDS
ACCESS_NETWORK_STATE
ACCESS_NOTIFICATION_POLICY
ACCESS_WIFI_STATE
BLUETOOTH
BLUETOOTH_ADMIN
BROADCAST_STICKY
CHANGE_NETWORK_STATE
CHANGE_WIFI_MULTICAST_STATE
CHANGE_WIFI_STATE
DISABLE_KEYGUARD
EXPAND_STATUS_BAR
GET_PACKAGE_SIZE
INSTALL_SHORTCUT
INTERNET
KILL_BACKGROUND_PROCESSES
MODIFY_AUDIO_SETTINGS
NFC
READ_SYNC_SETTINGS
READ_SYNC_STATS
RECEIVE_BOOT_COMPLETED
REORDER_TASKS
REQUEST_INSTALL_PACKAGES
SET_ALARM SET_TIME_ZONE
SET_WALLPAPER
SET_WALLPAPER_HINTS
TRANSMIT_IR
UNINSTALL_SHORTCUT
USE_FINGERPRINT
VIBRATE WAKE_LOCK
WRITE_SYNC_SETTINGS
위험 권한은 다음과 같습니다.
group:android.permission-group.CONTACTS
permission:android.permission.WRITE_CONTACTS
permission:android.permission.GET_ACCOUNTS
permission:android.permission.READ_CONTACTS
group:android.permission-group.PHONE
permission:android.permission.READ_CALL_LOG
permission:android.permission.READ_PHONE_STATE
permission:android.permission.CALL_PHONE
permission:android.permission.WRITE_CALL_LOG
permission:android.permission.USE_SIP
permission:android.permission.PROCESS_OUTGOING_CALLS
permission:com.android.voicemail.permission.ADD_VOICEMAIL
group:android.permission-group.CALENDAR
permission:android.permission.READ_CALENDAR
permission:android.permission.WRITE_CALENDAR
group:android.permission-group.CAMERA
permission:android.permission.CAMERA
group:android.permission-group.SENSORS
permission:android.permission.BODY_SENSORS
group:android.permission-group.LOCATION
permission:android.permission.ACCESS_FINE_LOCATION
permission:android.permission.ACCESS_COARSE_LOCATION
group:android.permission-group.STORAGE
permission:android.permission.READ_EXTERNAL_STORAGE
permission:android.permission.WRITE_EXTERNAL_STORAGE
group:android.permission-group.MICROPHONE
permission:android.permission.RECORD_AUDIO
group:android.permission-group.SMS
permission:android.permission.READ_SMS
permission:android.permission.RECEIVE_WAP_PUSH
permission:android.permission.RECEIVE_MMS
permission:android.permission.RECEIVE_SMS
permission:android.permission.SEND_SMS
permission:android.permission.READ_CELL_BROADCASTS
우리는 위험 권한이 모두 조를 나누는 것을 보았는데, 이런 조를 나누는 권한 메커니즘이 무슨 소용이 있겠는가?
우리가 6.0 이상의 기기에서 앱을 실행할 때 우리가 특정한 위험 권한을 신청할 때 이미 사용자에게 같은 그룹의 특정한 위험 권한을 부여받았다면 시스템은 즉시 수여하고 사용자가 수동으로 동의를 클릭할 필요가 없다. 예를 들어 우리가 신청
READ_CALENDAR
한 경우 사용자가 이전에 동의WRITE_CALENDAR
한 적이 있다면 시스템은 직접 수여한다.6.0 이상에서 권한은 그룹별로 부여되고 특정한 권한 그룹의 특정한 권한이 동의되면 전체 그룹의 권한은 수여되고 그룹 내의 다른 권한이 사용될 때 시스템은 직접 동의한다.
관련 API
checkSelfPermission(Activity activity,String permission)
허가에 동의한 경우 Package Manager가 반환됩니다.PERMISSION_GRANTED
shouldShowRequestPermissionRationale(Activity activity,String permission)
만약 이 함수가true로 되돌아온다면 사용자가 알림을 주지 않는 옵션을 선택하지 않았음을 나타냅니다. 신청 권한 대화상자는false로 되돌아오면신청 권한 대화상자는 다시 튀어나오지 않습니다. 신청 결과는 이전에 동의하지 않았습니다.
주의: 프로그램이 이 권한을 처음 신청했을 때, 이 방법이 되돌아오는 값은false입니다.왜냐하면 첫 번째 신청 권한 팝업 상자가 왔을 때'알림 안 하기'옵션이 없어요!
requestPermissions(Activity activity,String[] permissions,int requestCode);
우리는 신청 권한은 많은 권한을 신청할 수 있고 대화상자는 당신이 전송한 권한의 순서에 따라 순서대로 팝업되며 사용자는 모든 신청 권한에 대해 결정을 해야 한다는 것을 보았다.
public void onRequestPermissionsResult(int requestCode,
String permissions[], int[] grantResults)
되돌아오는 방법에는 당신이 신청한 권한 수조와 그에 대응하는 사용자가 결과를 수여하는 수조가 있습니다.
총결산
위의 방법에 따라 우리 자신의 권한 코드를 봉인하면 6.0 이상의 목적을 실현할 수 있다.6.0 다른 업데이트도 있지만 개발에 있어서 가장 중요한 변화는 권한 신청의 변경이다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView가 입력박스를 눌렀을 때 핸드폰 소프트 키보드에 문제가 없었다WebView에 입력란이 있을 때 누르면 핸드폰 소프트 키보드가 호출되지 않습니다.웹뷰에 초점을 맞추면 된다고 인터넷에서 검색해 보세요.방법이 호출되었습니다. 코드는 다음과 같습니다: 웹 뷰.requestFocus(...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.