到目前为止,我遵循了本教程:http://udinic.wordpress.com/2013/04/24/write-your-own-android-authenticator/
它完美无缺。但现在我想强迫我的用户登录我的应用程序。
我遇到的一些问题并没有找到解决方案,但是:
我应该如何处理应用程序启动登录?应用程序启动,调用MainActivity,它没有布局,只是决定是调用AuthenticatorActivity还是允许用户进入应用程序。那是我的解决方案。谁有更好的?
当我使帐户的authToken无效时,下次用户触发需要authToken的操作时,将启动AuthenticatorActivity。然而,如果他只是按下后退按钮,他仍然可以返回使用应用程序,当然他不能改变任何东西,因为现在有authToken,但它仍然可能会混淆一些用户。我怎样才能更好地解决这个问题?
最诚挚的问候!
答案 0 :(得分:2)
您应该阅读有关data storage的更多信息。
您可以覆盖Application类,并创建自己的MyApplication类(单例模式),然后您可以:
管理应用程序启动时的第一个行为。
管理您的令牌,因为可以从每个活动访问上下文,并且只要应用程序处于活动状态,此类的上下文就会生效。然后,当用户注销时,您将从此类中删除令牌,并在每个活动onCreat()中检查当前应用程序上下文中是否存在令牌。
您可以覆盖Authenticator活动中的onBackPressed()方法,检查他是否有令牌:
/ *
@覆盖 public void onBackPressed(){ //在让他回去之前检查用户是否有令牌
if(hasToken()){
// go back
AuthenticatorActivity.super.onBackPressed();
}
else{
// close the activity
finish();
} }
您可以使用“共享”偏好设置安全地保存Cookie。
如果您要保存许多数据,也可以使用数据库。
你也可以使用一个启动器Activity,它启动第一个并决定重定向你的活动:Login Activity或Main Activity。