权限问题--在此记录一下:
private void getPermission(){ //做权限列表 List<String> permissionList = new ArrayList<>(); if(ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.INTERNET) != PackageManager.PERMISSION_GRANTED){ permissionList.add(Manifest.permission.INTERNET); } if(ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED){ permissionList.add(Manifest.permission.READ_EXTERNAL_STORAGE); } if(ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED){ permissionList.add(Manifest.permission.WRITE_EXTERNAL_STORAGE); } //如果权限列表为空----代表全被授权---否则就回调 if(!permissionList.isEmpty()){ String[] permissions = permissionList.toArray(new String[permissionList.size()]); ActivityCompat.requestPermissions(MainActivity.this, permissions, 1); } else{ //如果为空--说明第一次有授权了--这次就不需要授权了,就开始进行服务 startMethods(); } } //权限问题--检查 @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); //返回值的检查 switch (requestCode){ case 1: //如果不为空说明有权限需要处理 if(grantResults.length>0){ for(int result:grantResults){ if(result!=PackageManager.PERMISSION_GRANTED){ Toast.makeText(this, "必须全部授权才能继续使用", Toast.LENGTH_SHORT).show(); finish(); return; } } startMethods(); }else{ Toast.makeText(this, "未知错误", Toast.LENGTH_SHORT).show(); finish(); } break; default: break; } }