Created
January 28, 2019 06:45
-
-
Save bratawisnu/b49fd1087a09b74ebbef315dc7f9abab to your computer and use it in GitHub Desktop.
method untuk permission
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Override | |
protected void onCreate(Bundle v) { | |
// TODO Auto-generated method stub | |
super.onCreate(v); | |
setContentView(R.layout.activity_splash); | |
if (checkAndRequestPermissions()) { | |
Toast.makeText(MainActivity.this, "Granted all permissions", Toast.LENGTH_SHORT).show(); | |
} | |
} | |
private boolean checkAndRequestPermissions() { | |
Context context = getApplicationContext(); | |
int locationpermission = ContextCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION); | |
int readphonestatepermission = ContextCompat.checkSelfPermission(context, Manifest.permission.READ_PHONE_STATE); | |
int writepermission = ContextCompat.checkSelfPermission(context, Manifest.permission.WRITE_EXTERNAL_STORAGE); | |
int readexternalstoragepermission = ContextCompat.checkSelfPermission(context, Manifest.permission.READ_EXTERNAL_STORAGE); | |
int callphonepermission = ContextCompat.checkSelfPermission(context, Manifest.permission.CALL_PHONE); | |
int cameraepermission = ContextCompat.checkSelfPermission(context, Manifest.permission.CAMERA); | |
List<String> listPermissionsNeeded = new ArrayList<>(); | |
if (locationpermission != PackageManager.PERMISSION_GRANTED) { | |
listPermissionsNeeded.add(Manifest.permission.ACCESS_FINE_LOCATION); | |
} | |
if (readphonestatepermission != PackageManager.PERMISSION_GRANTED) { | |
listPermissionsNeeded.add(Manifest.permission.READ_PHONE_STATE); | |
} | |
if (writepermission != PackageManager.PERMISSION_GRANTED) { | |
listPermissionsNeeded.add(Manifest.permission.WRITE_EXTERNAL_STORAGE); | |
} | |
if (readexternalstoragepermission != PackageManager.PERMISSION_GRANTED) { | |
listPermissionsNeeded.add(Manifest.permission.READ_EXTERNAL_STORAGE); | |
} | |
if (callphonepermission != PackageManager.PERMISSION_GRANTED) { | |
listPermissionsNeeded.add(Manifest.permission.CALL_PHONE); | |
} | |
if (cameraepermission != PackageManager.PERMISSION_GRANTED) { | |
listPermissionsNeeded.add(Manifest.permission.CAMERA); | |
} | |
if (!listPermissionsNeeded.isEmpty()) { | |
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { | |
requestPermissions(listPermissionsNeeded.toArray(new String[listPermissionsNeeded.size()]), REQUEST_ID_MULTIPLE_PERMISSIONS); | |
} | |
return false; | |
} | |
return true; | |
} | |
@Override | |
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { | |
super.onRequestPermissionsResult(requestCode, permissions, grantResults); | |
if (requestCode == REQUEST_ID_MULTIPLE_PERMISSIONS) { | |
if (grantResults.length > 0) { | |
for (int i = 0; i < permissions.length; i++) { | |
if (permissions[i].equals(Manifest.permission.ACCESS_FINE_LOCATION)) { | |
if (grantResults[i] == PackageManager.PERMISSION_GRANTED) { | |
Log.e("msg", "location granted"); | |
} | |
} else if (permissions[i].equals(Manifest.permission.READ_PHONE_STATE)) { | |
if (grantResults[i] == PackageManager.PERMISSION_GRANTED) { | |
Log.e("msg", "read phone state granted"); | |
} | |
} else if (permissions[i].equals(Manifest.permission.WRITE_EXTERNAL_STORAGE)) { | |
if (grantResults[i] == PackageManager.PERMISSION_GRANTED) { | |
Log.e("msg", "write external granted"); | |
} | |
} else if (permissions[i].equals(Manifest.permission.READ_EXTERNAL_STORAGE)) { | |
if (grantResults[i] == PackageManager.PERMISSION_GRANTED) { | |
Log.e("msg", "read external storage granted"); | |
//Utilities.ShowToast(activity, "Please Restart the Application....... "); | |
} | |
} else if (permissions[i].equals(Manifest.permission.READ_LOGS)) { | |
if (grantResults[i] == PackageManager.PERMISSION_GRANTED) { | |
Log.e("msg", "read logs granted"); | |
} | |
} else if (permissions[i].equals(Manifest.permission.CALL_PHONE)) { | |
if (grantResults[i] == PackageManager.PERMISSION_GRANTED) { | |
Log.e("msg", "call phone granted"); | |
} | |
} else if (permissions[i].equals(Manifest.permission.CAMERA)) { | |
if (grantResults[i] == PackageManager.PERMISSION_GRANTED) { | |
Log.e("msg", "call phone granted"); | |
} | |
} | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment