android 6.0 权限

本文详细介绍了Android系统的权限分类,包括危险权限及其组别如CALENDAR、CAMERA等,以及正常权限如ACCESS_LOCATION_EXTRA_COMMANDS等。此外,还提供了一个动态权限申请的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Dangerous permissions and permission groups.

Permission GroupPermissions
CALENDARREAD_CALENDAR 、 WRITE_CALENDAR
CAMERACAMERA
CONTACTSREAD_CONTACTS 、 WRITE_CONTACTS 、 GET_ACCOUNTS
LOCATIONACCESS_FINE_LOCATION 、 ACCESS_COARSE_LOCATION
MICROPHONERECORD_AUDIO
PHONEREAD_PHONE_STATE 、 CALL_PHONE 、 READ_CALL_LOG 、 WRITE_CALL_LOG 、 ADD_VOICEMAIL 、 USE_SIP 、 PROCESS_OUTGOING_CALLS
SENSORSBODY_SENSORS
SMSSEND_SMS 、 RECEIVE_SMS 、 READ_SMS 、 RECEIVE_WAP_PUSH 、 RECEIVE_MMS
STORAGEREAD_EXTERNAL_STORAGE 、 WRITE_EXTERNAL_STORAGE

dangerous 权限需要开发者在 **AndroidManifest.xml代码中动态申请
如果权限组里面的某个权限已经被用户授权了,那么申请这个组内的其它权限是就不需要弹出提示框让用户授权了**


Normal Permissions

As of API level 23, the following permissions are classified as PROTECTION_NORMAL:

  • 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_IGNORE_BATTERY_OPTIMIZATIONS
  • 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

Normal 权限只需要在 AndroidManifest.xml 中申请即可

动态权限申请例子

            public void onClick(View v) {
                if (down == 0) {
                    if (Build.VERSION.SDK_INT >= 23) {
                        int checkStoragePermission = ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE);
                        if (checkStoragePermission != PackageManager.PERMISSION_GRANTED) {
                            ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_CODE_WRITE_EXTERNAL_STORAGE); //向系统申请权限
                        }else {
                            downloadAPK(URL_ADDRESS);
                        }
                    }else {
                        downloadAPK(URL_ADDRESS);
                    }
                    mButton.setText("正在下载!!");
                }else if (down == 1 ){
                    installAPK();
                }else if (down == 2){
                    openAPK(MainActivity.this,URL_ADDRESS);
                }
            }
    @Override  //申请后的回调方法
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        Logger.d("onRequestPermissionsResult.....");
        switch (requestCode){
            case REQUEST_CODE_WRITE_EXTERNAL_STORAGE:
                if (grantResults[0] == PackageManager.PERMISSION_GRANTED){
                    downloadAPK(URL_ADDRESS);
                }else {
                    Toast.makeText(MainActivity.this,"WRITE_EXTERNAL_STORAGE",Toast.LENGTH_SHORT);
                }
                break;
            default:
                super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        }
    }

http://blog.youkuaiyun.com/lmj623565791/article/details/50709663

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值