このメソッド、"今後表示しない"にチェックが入っていれば"False"が返ってくると思うのですが
if(!ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.ACCESS_FINE_LOCATION) && PermissionChecker.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED)
今現在この様に"今後表示しない"にチェックが入っており、尚且つ位置情報の許可がされてない状態であればこれを通ってください。
というif文が、その一つ前のアクティビティで位置情報を許可した許可しないに関わらず通ってしまいます。
boolean変数に当てはめ、
!ActivityCompat.shouldShowRequestPermissionRationale(this,Manifest.permission.ACCESS_FINE_LOCATION)
PermissionChecker.checkSelfPermission(this,Manifest.permission.ACCESS_FINE_LOCATION)
の二つをデバッガで中身確認してみたんですが、
前アクティビティで"今後表示しない"にチェックを入れていないのに
"true"が返ってきている事がわかりました(反転しているので実質false)
もう一つは"true"が返ってきており正しかったです。
そこで質問なのですが、shouldShowRequestPermissionRationaleメソッドは
他のアクティビティで表示した許可ダイアログの結果は無視されるものなのでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。