当我从 Marshmallow 中的应用程序设置更改权限时,应用程序停止响应
Posted
技术标签:
【中文标题】当我从 Marshmallow 中的应用程序设置更改权限时,应用程序停止响应【英文标题】:Application stop responding when I change permission from app settings in Marshmallow 【发布时间】:2017-05-23 08:06:32 【问题描述】:我在我的应用程序中使用位置跟踪,一切正常。但是,当我通过按主页按钮在后台推送我的应用程序时,从应用程序设置中撤消位置权限并返回我的应用程序,它会停止响应并崩溃。 我正在使用服务进行位置跟踪。 当我从设置中更改权限时,它也会停止调试。
请告诉我如何处理这个问题。
【问题讨论】:
【参考方案1】:marshmallow 及以上版本使用不同的设置来请求权限。你需要设置它 如果您的应用程序没有所需的权限,它会在运行时请求它。https://developer.android.com/training/permissions/requesting.html 它可以帮助你!
【讨论】:
如果您没有得到答案,请不要犹豫发表评论,也不要忘记为答案投票 :) 我已经这样做了 if(Build.VERSION.SDK_INT >= 23) if(checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) String perm[] = Manifest.权限.ACCESS_FINE_LOCATION; requestPermissions(perm, REQUEST_CODE_ASK_MULTIPLE_PERMISSIONS); 那么您可以编辑您的问题并发布您的 logcat 错误,以便深入挖掘!【参考方案2】:onRestart() --> onStart() --> onResume() 当你从设置返回并且应用程序对用户可见时被调用,所以我们需要再次检查是否在 onRestart 中授予了权限() 方法。如果未授予权限,您需要再次显示权限对话框。希望这可以帮助!!
【讨论】:
我已经在 onResume() 中完成了这个。如果没有授予权限,它会先请求权限以上是关于当我从 Marshmallow 中的应用程序设置更改权限时,应用程序停止响应的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Android 版本 Marshmallow 开始请求从 Android 拨打电话的权限?
当我从 main.m 更改为 appdegelegate.swift 时,React-native IOS 应用程序在启动时变为空白
错误:无法连接到相机服务@Android marshmallow