如果我想在Android应用程序中存储用户名和密码以供使用,最好的方法是什么?通过偏好设置屏幕吗(但如果用户错过了呢?),还是弹出对话框并要求用户输入凭据? 如果是这样,我需要为应用程序维护状态。我该如何做到这一点?
这还为用户提供了一个快速简便的方式来访问(并潜在地删除)设备上任何帐户的存储凭据,所有这些都可以从一个地方完成。
SampleSyncAdapter(如@Miguel所提到的)是一个利用存储的帐户凭据的示例。
来源:简单使用Android Keystore存储密码和其他敏感信息Keystore本身使用用户自己的锁屏PIN /密码进行加密,因此,当设备屏幕被锁定时,Keystore不可用。 如果您有一个需要访问应用程序秘密的后台服务,请记住这一点。
使用新的(Android 6.0)指纹硬件和API,您可以像这个GitHub示例应用程序中那样进行操作。
http://nelenkov.blogspot.com/2012/05/storing-application-secrets-in-androids.html这里提供了一种基于“使用隐藏的Android API”的实用方法。当您确实无法避免在设备上本地存储凭据/密码时,可以考虑此方法。
我还创建了一个精简版的想法https://gist.github.com/kbsriram/5503519,可能会有所帮助。