- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在使用运行时权限请求,但存在问题。似乎无限调用了回调方法onRequestPermissionsResult
。所以当用户拒绝请求时,应用程序没有响应..
每次用户单击“拒绝”时,权限对话框都会重新出现。只有单击“不再询问”,它才不会再次出现。* 按“允许”时效果很好 - 没有任何问题。
有什么方法可以取消一次调用的方法吗?
if (ActivityCompat.checkSelfPermission( this, Manifest.permission.ACCESS_FINE_LOCATION ) != PackageManager.PERMISSION_GRANTED )
{
ActivityCompat.requestPermissions( this, new String[]{ Manifest.permission.ACCESS_FINE_LOCATION }, LOCATION_PERMISSION_CUSTOM_REQUEST_CODE );
}
@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
switch( requestCode )
{
case LOCATION_PERMISSION_CUSTOM_REQUEST_CODE:
// If request is cancelled, the result arrays are empty.
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// permission was granted
MyManager.connect();
return;
} else {
// permission denied
return;
}
default:
return;
}
}
最佳答案
这里的问题,正如您在评论中提到的,是在 onResume
方法中调用了触发请求权限对话框的代码。
当请求对话框权限完成时,运行时在触发它的 Activity 上调用 onResume
,就像任何以对话框为主题的 Activity 一样。
在您的情况下,拒绝权限将再次触发对 onResume
的调用,这将再次显示对话框并导致无限循环。
将此权限请求移至 onCreate
或其他一些流程将解决您的问题。
关于android - onRequestPermissionsResult 被无限调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38953450/
我正在尝试对我的 Activity 的权限结果进行验证: class MainActivity : FlutterActivity() { //... override fun onReq
Marshmallow 运行时权限 onRequestPermissionsResult 在运行 playstore Build Apk 时也没有被调用,但正常调试 Apk 工作正常。任何人都可以帮助
我想请求为 Marshmallow 写入外部存储的权限。我看不到任何覆盖 onRequestPermissionsResult 的选项。我可以调用 requestPermissions。我创建了以下方
我正在为 adobe Air 创建一个库,它在类(class)中有一个 Activity ,我可以通过方法 getActivity() 访问这个 Activity ,但我如何才能收听 onReques
我是一名游戏开发者,不擅长 android。我想创建一个“扩展服务”的库类,用于发送 GPS 位置。 虽然我将 onRequestPermissionsResult 保留在 “MainActivity
我的 Android 应用程序需要请求位置服务许可。我这样做: ActivityCompat.requestPermissions(this, new String[]{
我用这段代码在 fragment 中请求权限 requestPermissions(new String[]{android.Manifest.permission.READ_EXTERNAL_STO
我试图让 onRequestPermissionsResult() 触发,这样我就可以在收到覆盖权限后开始运行我的应用程序。不幸的是,由于未发送 toast ,我似乎无法调用 onRequestPer
我正在使用运行时权限请求,但存在问题。似乎无限调用了回调方法onRequestPermissionsResult。所以当用户拒绝请求时,应用程序没有响应.. 每次用户单击“拒绝”时,权限对话框都会重新
我正在使用 Xamarin 和 mvvmcross 开发 Android 应用程序。对于 Android 6.0,我成功请求运行时权限,运行良好,但我无法访问我的 MainActivity 代码,所以
我有一个奇怪的错误,它让我发疯。我正在开发 Android Marshmallow,并且正在实现新的权限。当我单击“登录”按钮时,我会检查用户是否具有 GPS 权限。如果没有,我请求他们。代码的工作方
我正在尝试实现 Marshmallow 的权限支持,但从未调用我在“onRequestPermissionsResult”中的代码。代码的“onCreate”和“onMapReady”部分工作正常。检
在我的 Activity 页面之一的 fragment 中,我想获得用户的许可并在授予许可后执行一些操作,但是 onRequestPermissionsResult 不工作,之后我没有看到任何日志授予
没有调用 onRequestPermissionsResult() 的任何原因? 在 Activity A 中,我有 requestPermission(Permission A, Permissio
当我使用 onRequestPermissionsResulti 时,保持 super 有用吗? @Override public void onRequestPermissionsResult(in
我有一个扩展 Activity 并实现 IOnRequestPermissionsResultCallback 的类。 我想使用 OnRequestPermissionResult 并按照 Xamar
我写了Permission类,这里有askMicrophonePermission方法。 在askMicrophonePermission中,我使用了ActivityCompat.requestPer
当我想在 AsyncTask 中使用 onRequestPermissionsResult() 时,出现错误。我必须在 Android 6.0 中使用权限。 @Override public void
我试图实现从存储中写入和读取的请求权限。一切正常,但今天 Android 向我展示了 onRequestPermissionsResult(...) 方法已被弃用。 StackOverflow 中有很
我在 android 权限方面遇到了一些问题。问题是每次调用 onRequestPermissionsResult 时都会调用 onResume,即使用户已经说过“不再询问”。 一个例子: @Ov
我是一名优秀的程序员,十分优秀!