Остановка / отмена прослушивания отпечатков пальцев - PullRequest
0 голосов
/ 10 декабря 2018

Я новичок в Android Finger Print Listener и изучаю его самостоятельно.У меня проблема с отменой прослушивателя отпечатков пальцев!

Я создал вспомогательный класс как:

@RequiresApi(Build.VERSION_CODES.M)
class FingerprintHandler : FingerprintManager.AuthenticationCallback {

    private var context: Context? = null

    constructor(context: Context) {
        this.context = context
    }

    fun startAuth(manager: FingerprintManager,  context: Context, cancellationSignal: CancellationSignal) {
        manager.authenticate(null, cancellationSignal, 0, this, null)
    }

    override fun onAuthenticationError(errorCode: Int, errString: CharSequence?) {
        super.onAuthenticationError(errorCode, errString)
        Toast.makeText(context!!, "Finger Print Authentication Error", Toast.LENGTH_SHORT).show()
    }

    override fun onAuthenticationSucceeded(result: FingerprintManager.AuthenticationResult?) {
        super.onAuthenticationSucceeded(result)

        Toast.makeText(context, context!!.resources.getString(R.string.success), Toast.LENGTH_SHORT).show()

    }

    override fun onAuthenticationHelp(helpCode: Int, helpString: CharSequence?) {
        super.onAuthenticationHelp(helpCode, helpString)
    }

    override fun onAuthenticationFailed() {
        super.onAuthenticationFailed()
        Toast.makeText(context!!, "Finger Print Authentication Failed", Toast.LENGTH_SHORT).show()
    }
}

и в своей деятельности у меня есть:

private var cancellationSignal: CancellationSignal? = null
override fun onPause() {
    stopAuthentication()
    fingerprintManager = null
    super.onPause()
}

    private fun stopAuthentication() {
        if (cancellationSignal != null) {
            cancellationSignal!!.cancel()

 cancellationSignal!!.setOnCancelListener {
            object : CancellationSignal.OnCancelListener {
                override fun onCancel() {
                    Toast.makeText(applicationContext, "Signal Cancelled", Toast.LENGTH_SHORT).show()
                }
            }
        }
        }
    }

главная проблема в том, что всякий раз, когда я хочу остановить слушателя, я вызываю метод stopAuthentication, но не могу остановить его, так как не отображается всплывающее окно!

, и я все еще могу использовать сканер отпечатков пальцев

Что я делаю не так, может кто-нибудь, пожалуйста, помогите мне!

Моим тестовым устройством является Huawei Mate 10 Oreo 8.0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...