Android6.0权限适配

来源:互联网 发布:java传授功力表情包 编辑:程序博客网 时间:2024/05/16 17:51

https://github.com/w1232101/easypermissions
Android6.0权限适配
1.复写Activity :onRequestPermissionsResult

 @Override    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {        super.onRequestPermissionsResult(requestCode, permissions, grantResults);        // Forward results to EasyPermissions        EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this);    }
  1. 在要用到权限的地方调用方法 例如SD卡写入权限
    EasyPermissions.hasPermissions(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)
    没有权限就调用 EasyPermissions.requestPermissions(this, “请求存储文件权限”, REQUECT_CODE_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE);
if (EasyPermissions.hasPermissions(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)) {            imagePresenter.saveImage();        } else {            // Ask for one permission            EasyPermissions.requestPermissions(this, "请求存储文件权限",                    REQUECT_CODE_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE);        }

3.对于请求结果:复写Activity的 onPermissionsGranted;onPermissionsDenied 分别进行处理

@Override    public void onPermissionsGranted(int requestCode, List<String> list) {        // Some permissions have been granted        // ...    }    @Override    public void onPermissionsDenied(int requestCode, List<String> list) {        // Some permissions have been denied        // 如果请求拒绝就执行以下代码   再次弹出一个dialog请求权限         if (EasyPermissions.somePermissionPermanentlyDenied(this, perms)) {        new AppSettingsDialog.Builder(this, getString(R.string.rationale_ask_again))                .setTitle(getString(R.string.title_settings_dialog))                .setPositiveButton(getString(R.string.setting))                .setNegativeButton(getString(R.string.cancel), null /* click listener */)                .setRequestCode(RC_SETTINGS_SCREEN)                .build()                .show();    }    }

基本权限:(无需用户授权,在AndroidManifest.xml注册就行)

android.permission.ACCESS_LOCATION_EXTRA_COMMANDS  android.permission.ACCESS_NETWORK_STATE  android.permission.ACCESS_NOTIFICATION_POLICY  android.permission.ACCESS_WIFI_STATE  android.permission.ACCESS_WIMAX_STATE  android.permission.BLUETOOTH  android.permission.BLUETOOTH_ADMIN  android.permission.BROADCAST_STICKY  android.permission.CHANGE_NETWORK_STATE  android.permission.CHANGE_WIFI_MULTICAST_STATE  android.permission.CHANGE_WIFI_STATE  android.permission.CHANGE_WIMAX_STATE  android.permission.DISABLE_KEYGUARD  android.permission.EXPAND_STATUS_BAR  android.permission.FLASHLIGHT  android.permission.GET_ACCOUNTS  android.permission.GET_PACKAGE_SIZE  android.permission.INTERNET  android.permission.KILL_BACKGROUND_PROCESSES  android.permission.MODIFY_AUDIO_SETTINGS  android.permission.NFC  android.permission.READ_SYNC_SETTINGS  android.permission.READ_SYNC_STATS  android.permission.RECEIVE_BOOT_COMPLETED  android.permission.REORDER_TASKS  android.permission.REQUEST_INSTALL_PACKAGES  android.permission.SET_TIME_ZONE  android.permission.SET_WALLPAPER  android.permission.SET_WALLPAPER_HINTS  android.permission.SUBSCRIBED_FEEDS_READ  android.permission.TRANSMIT_IR  android.permission.USE_FINGERPRINT  android.permission.VIBRATE  android.permission.WAKE_LOCK  android.permission.WRITE_SYNC_SETTINGS  com.android.alarm.permission.SET_ALARM  com.android.launcher.permission.INSTALL_SHORTCUT  com.android.launcher.permission.UNINSTALL_SHORTCUT  
0 0