shouldShowRequestPermissionRationale为假

时间:2019-03-08 15:54:13

标签: android android-permissions

我向我的应用添加了位置权限。现在安装应用程序时,它会询问用户权限。这是我的代码:

if (fragment.shouldShowRequestPermissionRationale(Manifest.permission.ACCESS_FINE_LOCATION) {
    fragment.requestPermissions(....);
}

但是,当我安装了以前的应用程序版本时,我没有此位置权限并更新了该应用程序,那么它不会要求获得权限,例如

fragment.shouldShowRequestPermissionRationale(Manifest.permission.ACCESS_FINE_LOCATION

返回false

通常,仅当用户单击“不再询问”时,这才应返回false。我在这里想念什么?

1 个答案:

答案 0 :(得分:2)

如果以前从未请求过用户许可,则

param( [string] $BookTitle = 'LOTR_TT', [string] $NewStatus = 'Read', [string] $FilePath = 'C:\file.xml' ) [xml]$xml = Get-Content -Path $FilePath $node = $xml.SelectSingleNode("//BOOK[BOOK_DATA/BOOK_TITLE='$BookTitle']/STATUS") $node.'#text' = $NewStatus $xml.Save($FilePath) 也会返回false。因此,理想情况下,您首先要寻求许可,然后再通过$xml.SelectNodes("//BOOK[BOOK_DATA/BOOK_TITLE[contains(., '$BookTitle')]]/STATUS") | ForEach-Object { $_.'#text' = $NewStatus } 检查许可结果对象是什么,并在随后的所有请求中加上对shouldShowRequestPermissionRationale()的检查,以查看用户是否已再次检查了“不再询问”选项。

编辑- 检查此答案中的示例: https://stackoverflow.com/a/34612503/10300673