@Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { isInPermission=false; if (requestCode==REQUEST_PERMISSION) { if (hasAllPermissions(getDesiredPermissions())) { onReady(state); } else { onPermissionDenied(); } } }
private boolean hasAllPermissions(String[] perms) { for (String perm : perms) { if (!hasPermission(perm)) { return(false); } } return(true); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.state=savedInstanceState; if (state!=null) { isInPermission=state.getBoolean(STATE_IN_PERMISSION, false); } if (hasAllPermissions(getDesiredPermissions())) { onReady(state); } else if (!isInPermission) { isInPermission=true; ActivityCompat .requestPermissions(this, netPermissions(getDesiredPermissions()), REQUEST_PERMISSION); } }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.state=savedInstanceState; if (state!=null) { isInPermission=state.getBoolean(STATE_IN_PERMISSION, false); } if (hasAllPermissions(getDesiredPermissions())) { onReady(state); } else if (!isInPermission) { isInPermission=true; ActivityCompat .requestPermissions(this, netPermissions(getDesiredPermissions()), REQUEST_PERMISSION); } }
@Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { isInPermission=false; if (requestCode==REQUEST_PERMISSION) { if (hasAllPermissions(getDesiredPermissions())) { onReady(state); } else { onPermissionDenied(); } } }
private boolean hasAllPermissions(String[] perms) { for (String perm : perms) { if (!hasPermission(perm)) { return(false); } } return(true); }
private String[] netPermissions(String[] wanted) { ArrayList<String> result=new ArrayList<String>(); for (String perm : wanted) { if (!hasPermission(perm)) { result.add(perm); } } return(result.toArray(new String[result.size()])); } }
private String[] netPermissions(String[] wanted) { ArrayList<String> result=new ArrayList<String>(); for (String perm : wanted) { if (!hasPermission(perm)) { result.add(perm); } } return(result.toArray(new String[result.size()])); } }