Android 6.0 之后,一些权限需要二次申请,包括相机,联系人,内存卡,短信等等。 if (Build.VERSION.SDK_INT = 23) { int checkCallPhonePermission = ContextCompat.checkSelfPermission(StartActivity.this, Manifest.per
if (Build.VERSION.SDK_INT >= 23) { int checkCallPhonePermission = ContextCompat.checkSelfPermission(StartActivity.this, Manifest.permission.CAMERA); int permissionWrite = ActivityCompat.checkSelfPermission(StartActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE); if (checkCallPhonePermission != PackageManager.PERMISSION_GRANTED || permissionWrite != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(StartActivity.this, new String[]{Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE}, 777); } else { //已经获取该权限时的处理 JumpOther(); } } else { //Android版本低于6.0时的处理 JumpOther(); } @Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { switch (requestCode) { //就像onActivityResult一样这个地方就是判断你是从哪来的。 case 777: if (grantResults[0] == PackageManager.PERMISSION_GRANTED) { //权限获取成功 JumpOther(); } else { CustomToast.showToast(this, "请务必打开权限。"); finish(); } break; default: super.onRequestPermissionsResult(requestCode, permissions, grantResults); } }