問題が発生しました。ユーザーが必要なすべての権限を付与した場合は発生しません。ユーザーが許可を拒否したときに発生します。ユーザーにApps-> AppName-> Settingsの権限を有効にするダイアログを表示します。私はそこにユーザーを連れて行きます。しかし、ユーザーがいずれかの権限を有効にしようとすると、メッセージが表示されます。 システムオーバーレイが検出されたで、ユーザーが任意のアクセス許可を有効にすることを許可していません。私はGoogleとStackoverflowをたくさん検索しましたが、解決策は見つかりませんでした。いくつかの人々はトーストを無効にして解決策を解決しましたが、私はトーストを見せていません。Androidリクエスト許可システムオーバーレイが検出されました
注:この問題は、いずれかのアクセス許可が拒否された場合にのみ発生します。ここで
は私のコードのアンドロイドMで
private void showPermissionDialog(String message, final int permissionCode){
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Permission Required");
if(permissionCode == Constants.REQ_CODE_PERMISSION_SYSTEM_OVERLAY_WINDOW) {
builder.setMessage(Constants.getOverlayNotEnabledMessage(Constants.getInstance(this)));
} else {
builder.setMessage(message + " To enable go to apps, Select " +
getResources().getString(R.string.app_name) + " Enable permissions now?");
}
builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
if(permissionCode == Constants.REQ_CODE_PERMISSION_READ_CONTACTS){
MainActivity.this.finish();
}
}
});
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
if(permissionCode == Constants.REQ_CODE_PERMISSION_SYSTEM_OVERLAY_WINDOW) {
requestOverlayPermissions();
} else {
Intent intent = new Intent();
intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
Uri uri = Uri.fromParts("package", getApplicationContext().getPackageName(), null);
intent.setData(uri);
MainActivity.this.startActivityForResult(intent, permissionCode);
}
}
});
AlertDialog alertDialog = builder.create();
alertDialog.setCancelable(false);
alertDialog.show();
}