Search code examples
androidkotlinandroid-permissionsandroid-library

Permission dialog is not showing in android


I am using Dexter library for camera permission in my app. When user clicks on a button I want to check a permission, but when I am clicking on the button, no permission is checked.

Below is my code:

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();
}
}  

What am I doing wrong?


Solution

  • You need to call .check() while requesting the permission

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