2016-05-15 8 views
1
erlaubt

ich folgenden Code verwenden:Wie hören ACTION_MANAGE_OVERLAY_PERMISSION ist

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !Settings.canDrawOverlays(this)) { 
     Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, 
       Uri.parse("package:" + getPackageName())); 
     startActivityForResult(intent, 5469); 

SYSTEM_ALERT_WINDOW die Erlaubnis zu bekommen, wie Code auszuführen, nachdem diese Erlaubnis

+1

nehmen Blick auf diesen Kerl Antwort http://stackoverflow.com/a/33503523/488434, onActivityResult sollten Sie wissen lassen, durch erneutes Überprüfen gegen 'Settings.canDrawOverlays' –

Antwort

1

erlaubt ist, wenn Gebrauch diese requestPermissions

ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 
       REQUEST_SDCARD); 

Verwenden Sie dann diesen Code:

@Override 
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, 
              @NonNull int[] grantResults) { 


     } 
    } 

Bei Verwendung dieser Code

Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, 
       Uri.parse("package:" + getPackageName())); 
     startActivityForResult(intent, 5469); 

Dann diesen Code verwenden:

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    if(requestCode==5469) 
    { 


    } 
}