Ich schreibe Code um mehrere Run time permission on android 6.0
in Gruppe zu fragen. Alles in Ordnung, ich folge einem guten Beispiel dafür, habe aber immer noch Probleme.Erlaube mehrere Laufzeit Erlaubnis
In ActivityCompat.shouldShowRequestPermissionRationale (context, READ_PHONE_STATE)
seine geben Fehler auf Zusammenhang, dass falsch erstes Argument Kontext. bitte helfen Sie, wie man es löst.
Vielen Dank im Voraus
-Code ist:
if (ContextCompat
.checkSelfPermission(SpalshActivity.this,
READ_PHONE_STATE)+ContextCompat.checkSelfPermission(context,
WRITE_EXTERNAL_STORAGE) +ContextCompat.checkSelfPermission(context,
CAMERA) + ContextCompat
.checkSelfPermission(context,
READ_CONTACTS)+ContextCompat
.checkSelfPermission(context,
CALL_PHONE)+ContextCompat
.checkSelfPermission(context,
ACCESS_FINE_LOCATION)+ContextCompat
.checkSelfPermission(context,
READ_SMS)== PackageManager.PERMISSION_GRANTED) {
myMethod();
}
else {
if (ActivityCompat.shouldShowRequestPermissionRationale
(context, READ_PHONE_STATE) ||ActivityCompat.shouldShowRequestPermissionRationale
(context, WRITE_EXTERNAL_STORAGE)||
ActivityCompat.shouldShowRequestPermissionRationale
(context, CAMERA) ||
ActivityCompat.shouldShowRequestPermissionRationale
(context, READ_CONTACTS) || ActivityCompat.shouldShowRequestPermissionRationale
(context, CALL_PHONE) || ActivityCompat.shouldShowRequestPermissionRationale
(context, ACCESS_FINE_LOCATION) || ActivityCompat.shouldShowRequestPermissionRationale
(context, READ_SMS)) {
Snackbar.make(findViewById(android.R.id.content),
"Please Grant Permissions",
Snackbar.LENGTH_INDEFINITE).setAction("ENABLE",
new View.OnClickListener() {
@Override
public void onClick(View v) {
ActivityCompat.requestPermissions(SpalshActivity.this,
new String[]{READ_PHONE_STATE,WRITE_EXTERNAL_STORAGE,CAMERA, READ_CONTACTS, CALL_PHONE, ACCESS_FINE_LOCATION, READ_SMS},
REQUEST_READ_PHONE_STATE);
}
}).show();
} else {
ActivityCompat.requestPermissions(SpalshActivity.this,
new String[]{READ_PHONE_STATE,WRITE_EXTERNAL_STORAGE,CAMERA, READ_CONTACTS, CALL_PHONE, ACCESS_FINE_LOCATION, READ_SMS},
REQUEST_READ_PHONE_STATE);
}
}
}
}
Versuchen Sie yourActivity.this, anstatt Kontext. –