如何实现shouldShowRequestPermissionRationale()
?
到目前为止,我在代码中将其保留为空白,并且可以正常运行,但是如何实际使用此方法来说明我的基本原理?我了解它应该以某种方式包含我编写的弹出对话框。或者,实际上我可以在那里做任何我想要的事情,而不是弹出对话框?例如,改为显示TextView?
This is my code:
// Here, thisActivity is the current activity
if (ContextCompat.checkSelfPermission(thisActivity,
Manifest.permission.READ_CONTACTS)
!= PackageManager.PERMISSION_GRANTED) {
// Permission is not granted
// Should we show an explanation?
if (ActivityCompat.shouldShowRequestPermissionRationale(thisActivity,
Manifest.permission.READ_CONTACTS)) {
// Show an explanation to the user *asynchronously* -- don't block
// this thread waiting for the user's response! After the user
// sees the explanation, try again to request the permission.
} else {
// No explanation needed; request the permission
ActivityCompat.requestPermissions(thisActivity,
new String[]{Manifest.permission.READ_CONTACTS},
MY_PERMISSIONS_REQUEST_READ_CONTACTS);
// MY_PERMISSIONS_REQUEST_READ_CONTACTS is an
// app-defined int constant. The callback method gets the
// result of the request.
}
} else {
// Permission has already been granted
}
如果用户先前单击了“拒绝”,如何显示我的自定义基本原理?如何第二次显示自己的对话框?
答案 0 :(得分:0)
shouldShowRequestPermissionRationale()用作提示,提示用户可能需要有关您为什么要请求特定权限的更多信息。通常,如果用户至少一次拒绝了该权限并且他们没有单击“不再询问”,则此方法将返回true。您可以在用户界面中做任何您想做的事,大多数都会显示一个弹出窗口,但这取决于您。 shouldShowRequestPermissionRationale()不能代替requestPermissions(),在您显示基本原理并被用户阅读后,您仍然需要请求权限。