Ich bin nicht in der Lage zu erlauben, die App in externen Speicher schreiben, wenn andere Hintergrund-App wie Dämmerung (Dims Bildschirm) im Hintergrund ausgeführt wird. In diesem Fall kann ich es nur leugnen und es wird Screen Overlay erkannt. Aber kann nicht zulassen.Ich kann nicht auf externe Schreibzugriffsberechtigungen in Android zulassen
Mein Code:
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
boolean hasPermission = (ContextCompat.checkSelfPermission(Timetable.this,
Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED);
if (!hasPermission) {
ActivityCompat.requestPermissions(Timetable.this,
new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
1);
}
}
Aufhebungscode:
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
switch (requestCode)
{
case 1: {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED)
{
//Intent i=new Intent(this,Timetable.class);
//startActivity(i);
//reload my activity with permission granted or use the features what required the permission
} else
{
Toast.makeText(Timetable.this, "The app was not allowed to write to your storage. Hence, it cannot function properly. Please consider granting it this permission", Toast.LENGTH_LONG).show();
}
}
}
}
ich es will laufen, auch wenn einige Hintergrund-Anwendungen wie Dämmerung laufen.
Können Sie Screenshots/logcat hinzufügen? –