Android—检测权限并申请
16lz
2021-01-26
private Button btn_enter; private final static int REQUEST_CODE_STORAGE = 1; private SharedPreferences sp; private String[] PERMISSIONS_STORAGE = { Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_index); btn_enter = findViewById(R.id.btn_enter); btn_enter.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Enter(); } }); //ButterKnife.bind(this); sp = getSharedPreferences("myStore", Context.MODE_PRIVATE); boolean isFirst = sp.getBoolean("isFirst",true); if(!isFirst){ Enter(); } verifyStoragePermission(this); } // @OnClick(R.id.btn_enter) public void Enter(){ Toast.makeText(this,"Enter方法",Toast.LENGTH_LONG).show(); sp.edit().putBoolean("isFirst",false).commit(); startActivity(new Intent(this,MainActivity.class)); finish(); } private void verifyStoragePermission(Activity activity) { //1.检测权限 int permission = ActivityCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE); if (permission != PermissionChecker.PERMISSION_GRANTED) { //2.没有权限,弹出对话框申请 ActivityCompat.requestPermissions(activity, PERMISSIONS_STORAGE, REQUEST_CODE_STORAGE); } } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); if (grantResults[0] == PermissionChecker.PERMISSION_GRANTED) { //权限申请成功 Toast.makeText(this, "授权SD卡权限成功", Toast.LENGTH_SHORT).show(); } else { //权限申请失败 Toast.makeText(this, "授权SD卡权限失败,可能会影响使用", Toast.LENGTH_SHORT).show(); } }
更多相关文章
- Android(安卓)7.0拍照权限处理
- [置顶] Android基础--ConnectivityManager检查网络连接
- Security and Permissions安全与权限(七)
- 使用Notification发送消息通知
- ANDROID -- Bluetooth
- Android高性能编码 - 第八篇 移动端安全规范
- 在Android上优雅的申请权限
- android如何获取设备的唯一设备码
- Android(安卓)可拖动可点击悬浮窗