我尝试从 Parse 使用 Facebook 登录,但遇到问题。
我有这个错误:
05-11 11:12:29.989 14760-14760/com.picmate D/ContextHelper﹕ convertTheme. context->name=com.picmate themeResourceId=2131492865
05-11 11:12:29.998 14760-14760/com.picmate I/PhoneWindow﹕ [generateLayout] setColorNavigationBar => color=0x ff000001
05-11 11:12:30.008 14760-14760/com.picmate D/PhoneWindowEx﹕ [LMJ][PWEx][generateLayout] setNavigationBarColor2 : colors=0xff000000
05-11 11:12:30.008 14760-14760/com.picmate I/PhoneWindow﹕ [setNavigationBarColor2] color=0x ff000000
05-11 11:12:30.029 14760-14793/com.picmate D/OpenGLRenderer﹕ Render dirty regions requested: true
05-11 11:12:30.030 14760-14793/com.picmate I/Adreno-EGL﹕ <qeglDrvAPI_eglInitialize:410>: EGL 1.4 QUALCOMM build: ()
OpenGL ES Shader Compiler Version: E031.25.03.00
Build Date: 12/12/14 금
Local Branch: LA.BF.1.1_RB1.05.00.00.002.031_20141212_01821442
Remote Branch:
Local Patches:
Reconstruct Branch:
05-11 11:12:30.033 14760-14793/com.picmate I/OpenGLRenderer﹕ Initialized EGL, version 1.4
05-11 11:12:30.061 14760-14793/com.picmate D/OpenGLRenderer﹕ Enabling debug mode 0
05-11 11:12:30.072 14760-14760/com.picmate D/Atlas﹕ Validating map...
05-11 11:12:30.347 14760-14760/com.picmate I/Timeline﹕ Timeline: Activity_idle id: android.os.BinderProxy@3c12cf43 time:189759021
05-11 11:12:33.150 14760-14760/com.picmate I/ViewRootImpl﹕ ViewRoot's Touch Event : ACTION_DOWN
05-11 11:12:33.207 14760-14760/com.picmate I/ViewRootImpl﹕ ViewRoot's Touch Event : ACTION_UP
05-11 11:12:33.254 14760-14760/com.picmate I/Timeline﹕ Timeline: Activity_launch_request id:com.picmate time:189761928
05-11 11:12:33.330 14760-14760/com.picmate D/ContextHelper﹕ convertTheme. context->name=com.picmate themeResourceId=2131492865
05-11 11:12:33.360 14760-14760/com.picmate I/PhoneWindow﹕ [generateLayout] setColorNavigationBar => color=0x ff00000105-11
05-11 11:12:33.361 14760-14760/com.picmate D/PhoneWindowEx﹕ [LMJ][PWEx][generateLayout] setNavigationBarColor2 : colors=0xff000000
05-11 11:12:33.362 14760-14760/com.picmate I/PhoneWindow﹕ [setNavigationBarColor2] color=0x ff000000
05-11 11:12:33.822 14760-14760/com.picmate I/Timeline﹕ Timeline: Activity_idle id: android.os.BinderProxy@3e31cc52 time:189762497
05-11 11:12:35.374 14760-14760/com.picmate I/ViewRootImpl﹕ ViewRoot's Touch Event : ACTION_DOWN
05-11 11:12:35.441 14760-14760/com.picmate I/ViewRootImpl﹕ ViewRoot's Touch Event : ACTION_UP
05-11 11:12:35.483 14760-14760/com.picmate D/AndroidRuntime﹕ Shutting down VM
05-11 11:12:35.486 14760-14760/com.picmate E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.picmate, PID: 14760
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference
at com.facebook.login.LoginManager.getLogger(LoginManager.java:391)
at com.facebook.login.LoginManager.logCompleteLogin(LoginManager.java:414)
at com.facebook.login.LoginManager.startLogin(LoginManager.java:384)
at com.facebook.login.LoginManager.logInWithReadPermissions(LoginManager.java:262)
at com.parse.FacebookAuthenticationProvider.authenticateAsync(FacebookAuthenticationProvider.java:155)
at com.parse.ParseAuthenticationProvider.logInAsync(ParseAuthenticationProvider.java:50)
at com.parse.ParseFacebookUtils.logInAsync(ParseFacebookUtils.java:265)
at com.parse.ParseFacebookUtils.logInWithReadPermissionsInBackground(ParseFacebookUtils.java:161)
at com.parse.ParseFacebookUtils.logInWithReadPermissionsInBackground(ParseFacebookUtils.java:173)
at com.picmate.ConnectionActivity$1.onClick(ConnectionActivity.java:46)
at android.view.View.performClick(View.java:4763)
at android.view.View$PerformClick.run(View.java:19821)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5274)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:909)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:704)
我的代码是:
final Collection<String> permissions = new ArrayList<String>();;
permissions.add("user_status");
permissions.add("read_stream");
findViewById(R.id.btnFB).setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
ParseFacebookUtils.logInWithReadPermissionsInBackground(ConnectionActivity.this, permissions, new LogInCallback() {
@Override
public void done(ParseUser user, ParseException err) {
if (user == null) {
Toast.makeText(ConnectionActivity.this, "Error Sabatie in da place", Toast.LENGTH_SHORT).show();
} else if (user.isNew()) {
Toast.makeText(ConnectionActivity.this, "Inscription + login", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(ConnectionActivity.this, "login solo", Toast.LENGTH_SHORT).show();
}
}
});
}
});
我在第 46 行的代码是:
ParseFacebookUtils.logInWithReadPermissionsInBackground(ConnectionActivity.this, permissions, new LogInCallback() {
这个问题我已经解决了两天了,我尝试调试并上网查看,但还没有找到解决方案。
如果有人可以帮助我,请。
最佳答案
我昨天遇到了同样的问题,并花了几个小时试图找出导致 Facebook 的 LoginManager 出现 NullPointerException 的原因。 结果我发现一个答案非常清楚地说明这必须来自 AndroidManifest.xml 中的错误,当您需要精确插入此内容时:
<application>
...
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/app_id" />
...
</application>
我的第一行扭曲为 android:name="com.facebook.sdk.ApplicationId" (在 "和 c 之间有一个额外的空格)。 因为我很确定我没有自己输入它,而是从其他地方 c/ced 它,所以我想其他人最终会得到相同的额外空间......
关于java - Android - logInWithReadPermissionsInBackground 上的 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30163470/