2016-09-21 6 views
1
をポップアップされていない

私のアプリは、次の権限が必要です。それは正常に動作しますがマシュマロを始めていたロリポップまで要求許可ダイアログボックスは、Androidマシュマロで

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> 
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"/> 

を、私は、実行時に許可を求める必要があります。だから、私はこのコードを使用:私はアプリを実行しようとすると

if (ContextCompat.checkSelfPermission(getApplicationContext(),Manifest.permission.SYSTEM_ALERT_WINDOW)==PackageManager.PERMISSION_GRANTED){ 
    //my code here 
} else { 
    if (shouldShowRequestPermissionRationale(Manifest.permission.SYSTEM_ALERT_WINDOW)) { 
     Toast.makeText(getApplicationContext(),"Permission is requird",Toast.LENGTH_SHORT).show(); 
    } 
    requestPermissions(new String[] {Manifest.permission.SYSTEM_ALERT_WINDOW},REQUEST_RESULT); 
} 


@Override 
public void onRequestPermissionsResult(int requestCode,String[] permissions,int[] grantResult){ 
    if (requestCode==REQUEST_RESULT){ 
     if (grantResult[0]==PackageManager.PERMISSION_GRANTED){ 
      //my code here 
     }else { 
      Toast.makeText(getApplicationContext(),"permission has not granted",Toast.LENGTH_SHORT).show(); 
     } 
    } 
    else { 
     super.onRequestPermissionsResult(requestCode,permissions,grantResult); 
    } 
} 

、要求の許可]ダイアログボックスが表示され、「権限が付与されていません」というメッセージが表示されません。要求のアクセス許可ダイアログボックスが表示されないのはなぜですか?ここで

は私のbuild.gradleファイルです:そのprotectionLeveldangerousないよう

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 24 
    buildToolsVersion "24.0.2" 

    defaultConfig { 
     applicationId "com.example.adarsh.ezswipe" 
     minSdkVersion 19 
     targetSdkVersion 24 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:appcompat-v7:24.2.1' 
    compile 'com.android.support:support-v4:24.2.1' 
} 

答えて

2

KILL_BACKGROUND_PROCESSES、実行時に要求する必要はありません。

SYSTEM_ALERT_WINDOWこのメカニズムによって実行時に要求することはできません。 use canDrawOverlays()ACTION_MANAGE_OVERLAY_PERMISSIONを入力してください。

+0

私はcanDrawOverlays()を使用する必要がありますmarshmallowデバイスで許可を要求します。 – Rachan

+0

私はすでにこれを試しましたが、私のapp.Butのアクセス許可が要求されていないことを示していません。それは私にこのような場所を見つけることにいくつかのエラーを与える:E/Surface:getSlotFromBufferLocked:不明なバッファ:0xab7519c0それは何ですか – Rachan

関連する問題