【问题标题】:Permission dialog is not showing in android权限对话框未在 android 中显示
【发布时间】:2021-03-06 08:58:54
【问题描述】:

我在我的应用程序中使用Dexter library 获取相机权限。当用户单击按钮时,我想检查权限,但是当我单击按钮时,没有检查权限。

下面是我的代码:

class MainActivity : AppCompatActivity(), PermissionListener {
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    choose.setOnClickListener {
        Toast.makeText(applicationContext,"HEllo",Toast.LENGTH_SHORT).show();
        Dexter.withActivity(this)
            .withPermission(android.Manifest.permission.CAMERA)
            .withListener(this)
    }
}

override fun onPermissionGranted(response: PermissionGrantedResponse?) {
    Toast.makeText(applicationContext,"Granted",Toast.LENGTH_SHORT).show();
}

override fun onPermissionRationaleShouldBeShown(
    permission: PermissionRequest?,
    token: PermissionToken?
) {

}

override fun onPermissionDenied(response: PermissionDeniedResponse?) {
    Toast.makeText(applicationContext,"Denied",Toast.LENGTH_SHORT).show();
}
}  

我做错了什么?

【问题讨论】:

    标签: android kotlin android-library


    【解决方案1】:

    您需要在请求权限时调用 .check()

    Dexter.withActivity(this)
                .withPermission(android.Manifest.permission.CAMERA)
                .withListener(this).check()
    

    【讨论】:

    • 谢谢兄弟,我忘了添加 check()。当我拒绝时,还有一件事,当我再次单击按钮时,对话框不会显示。
    • 请让我检查一下
    • @Digvijay .. 在onPermissionRationaleShouldBeShown() 中调用PermissionToken.continuePermissionRequest()
    猜你喜欢
    • 1970-01-01
    • 2015-10-30
    • 1970-01-01
    • 1970-01-01
    • 2022-12-06
    • 2020-03-05
    • 2016-10-22
    • 1970-01-01
    • 2021-03-16
    相关资源
    最近更新 更多