我正在使用社交验证库在android应用程序中与社交媒体进行共享和登录。
我已成功登录并通过facebook进行授权。但当我尝试注销应用程序时,应用程序崩溃,并出现空指针异常
adapter.signOut(getActivity(), Provider.FACEBOOK.toString());获取以下错误:
05-09 10:24:23.010: E/AndroidRuntime(19998): java.lang.NullPointerException
05-09 10:24:23.010: E/AndroidRuntime(19998): at org.brickred.socialauth.android.SocialAuthAdapter.signOut(SocialAuthAdapter.java:797)我使用的是最新版本。socialauth-4.4.jar和socialauth-android-3.2.jar
发布于 2015-01-02 21:57:18
请确保从活动中调用。Getactivity() from fragment在像这样从activity调用方法后不工作将工作adapter.signOut( this,Provider.FACEBOOK);
发布于 2015-01-05 00:08:19
我也遇到过类似的问题,这个解决方案适用于我:https://code.google.com/p/socialauth-android/issues/detail?id=108#c16
基本上注销功能有个bug,必须先登录再注销,否则可能会出现NPE。上面的解决方案是在必要时创建一个新的SocialAuthManager。
我建议将源代码作为java模块导入,而不是使用jar文件,这样你就可以自己修复一些东西,比如更改对话框标题文本等。
发布于 2015-04-15 22:22:48
In signOut function put these lines,
if (providerName != null) {
if (socialAuthManager == null) {
socialAuthManager = new SocialAuthManager();
try {
loadConfig(ctx);
} catch (Exception e) {
Log.d(" SocialAuthAdapter ", "Could not load configuration");
}
}
before
if (socialAuthManager.getConnectedProvidersIds().contains(providerName)) socialAuthManager.disconnectProvider(providerName);https://stackoverflow.com/questions/23562383
复制相似问题