Call requires API level 23 (current min is 14): android.app.Activity#requestPermissions,checkSelfPermission
Either check for target >=23 or simply add below line above your method
@TargetApi(Build.VERSION_CODES.M)
For example, If you are checking for storage permissions, then you can refer to this function,
@TargetApi(Build.VERSION_CODES.M)
public boolean CheckStoragePermission() {
int permissionCheckRead = ContextCompat.checkSelfPermission(context,
Manifest.permission.READ_EXTERNAL_STORAGE);
if (permissionCheckRead != PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.shouldShowRequestPermissionRationale((Activity) context,
Manifest.permission.READ_EXTERNAL_STORAGE)) {
// Show an expanation to the user *asynchronously* -- don't block
// this thread waiting for the user's response! After the user
// sees the explanation, try again to request the permission.
ActivityCompat.requestPermissions((Activity) context,
new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
Define.PERMISSION_STORAGE);
} else {
// No explanation needed, we can request the permission.
ActivityCompat.requestPermissions((Activity) context,
new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
Define.PERMISSION_STORAGE);
// MY_PERMISSIONS_REQUEST_READ_CONTACTS is an
// app-defined int constant. The callback method gets the
// result of the request.
}
return false;
} else
return true;
}
Check for permissions:
ContextCompat.checkSelfPermission(Context context, String permission)
Request permissions:
ActivityCompat.requestPermissions(Activity activity, String[] permissions, int requestCode)
or inside a support-v4 Fragment
requestPermissions(String[] permissions, int requestCode)
try this way
if (Build.VERSION.SDK_INT >= 23) {
if (ActivityCompat.checkSelfPermission(MainActivity.this, Manifest.permission.READ_PHONE_STATE)
!= PackageManager.PERMISSION_GRANTED) {
requestContactsPermissions1();
} else {
// your code
}
}
EDITED:
Add in dependencies block in lower-level(your app) build.gradle
:
compile 'com.android.support:appcompat-v7:23.1.1'
or add below only if you need design support lib
compile 'com.android.support:design:23.1.1'
use one of above