Prima di 21 livello questo non è certamente possibile su dispositivi non root e non ci sono alternative con permessi regolari.
Se è ok per richiedere i permessi di amministratore in più, probabilmente è possibile emulare la conferma delle credenziali molto vagamente, con molta più fatica, mediante l'attuazione di DeviceAdminReceiver.onPasswordSucceeded
. Blocca lo schermo, quando la password è riuscita eseguire l'azione richiesta. Ciò può rivelarsi relativamente complesso perché l'azione non viene sempre ricevuta (solo se lo stato è cambiato), è necessario mantenere l'ultimo successo, comunicare con il ricevente, ecc.
Come nota a margine, ricontrollare il caso d'uso e il tuo progetto, nella maggior parte dei casi in cui viene utilizzato createConfirmDeviceCredentialIntent, non è in realtà richiesto e altre scelte di progettazione potrebbero eliminarne la necessità.
È stato meglio fornire dettagli su cosa esattamente si sta tentando di proteggere. Se si tratta di uno scenario per l'accesso accidentale al dispositivo da parte di una persona non autorizzata e un token permanente viene generato, ad esempio, da qualche servizio oauth, può essere ragionevole riautorizzare attraverso lo stesso flusso di accesso al servizio o memorizzare alcune hmac di credenziali originali. insieme al token, quindi, richiede e riconvalida le credenziali invece di richiedere le credenziali del dispositivo. In alternativa, se questo è sufficiente per il caso d'uso, puoi utilizzare google login per autorizzare l'accesso alla tua app/token e verificare che l'utente google sia lo stesso per il token memorizzato.
fonte
2016-12-18 18:40:19
Potrebbe essere necessario implementarlo da soli. – tynn
Hai avuto fortuna con questo @ danny-zheng? – Beth