当我使用Facebook的Android SDK单点登录时,我得到一个完全无用的页面.
"你已经授权了happyapp.按"好的"继续.
此页面会破坏用户体验.我怎么能摆脱它.很多人都看到了这个,但没有发布任何解决方案.
甚至Facebook承认这是一个问题,请参阅:http://forum.developers.facebook.net/viewtopic.php?id = 84548
有谁知道任何解决方法吗?
P. *_*etz 11
我做的方式(没有额外的OAuth解决方案)就是在Kieveli建议的情况下在偏好中存储访问令牌.当主要活动开始时,从首选项中查找令牌,如果没有,则启动授权过程并将结果令牌存储在首选项中.
更难的部分是处理您的应用程序的令牌过期或取消授权(即令牌在首选项中,但不再有效).
对于这种情况,对于每个FB API /图调用,请检查指示身份验证失败的异常.如果失败,请再次启动授权/令牌存储过程.
使用这里的建议,这是适合我的代码,希望它可以帮助某人
在登录之前这样做
SharedPreferences prefs= PreferenceManager.getDefaultSharedPreferences(FacebookLogin.this);
String access_token = prefs.getString("access_token", null);
Long expires = prefs.getLong("access_expires", -1);
if (access_token != null && expires != -1)
{
facebook.setAccessToken(access_token);
facebook.setAccessExpires(expires);
}
if (!facebook.isSessionValid())
{
facebook.authorize(FacebookLogin.this, new DialogListener() {
...
Run Code Online (Sandbox Code Playgroud)
成功登录后执行此操作
String token = facebook.getAccessToken();
long token_expires = facebook.getAccessExpires();
SharedPreferences prefs= PreferenceManager.getDefaultSharedPreferences(FacebookLogin.this);
prefs.edit().putLong("access_expires", token_expires).commit();
prefs.edit().putString("access_token", token).commit();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
15122 次 |
最近记录: |