Karumi/Dexter
Showing a dialog before android permision dialog onPermissionRationaleShouldBeShown does not work when pressing back button
开放
#213 创建于 2018年7月22日
help wanted
仓库指标
- 星标
- (5,224 个星标)
- PR 合并指标
- (PR 指标待抓取)
描述
Expected behaviour
I want to help the user understand why my app needs a permission before showing android permission dialog. I'm using a helper dialog to explain that. I disabled the back press button on the helper dialog so the only way to close the dialog is to press a button on the dialog. after user press the close button I consume token with token.continuePermissionRequest(); and android permission dialog is shown and everything should continue to be working fine.
Actual behaviour
when a helper dialog is displayed to user to explain why permission needed and user press on back button then clicks on dialog close button dexter does not work anymore anywhere and show nothing.
Steps to reproduce
- after the helper dialog is shown just press back button then continue.
@Override
public void onPermissionRationaleShouldBeShown(PermissionRequest permission, PermissionToken token)
{
new AlertDialog.Builder(context).setTitle("test")
.setMessage("test")
.setCancelable(false)
.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
@Override public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
token.continuePermissionRequest();
}
})
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
token.continuePermissionRequest();
}
})
.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override public void onDismiss(DialogInterface dialog) {
token.continuePermissionRequest();
}
})
.show();
}
`
Dexter.withActivity(this)
.withPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)
.withListener(dialogPermissionListener)
.check();
Version of the library
5.0.0