Mic*_*l W 7 android facebook facebook-graph-api facebook-authentication facebook-android-sdk
有时(不是非常频繁)我的Android应用程序在首次使用Facebook登录(Facebook SDK版本3.5)登录到Facebook后崩溃.
我得到例外:
java.lang.RuntimeException: Unable to resume activity {my.app.package/com.facebook.LoginActivity}: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=64206, result=0, data=null} to activity {my.app.package/com.facebook.LoginActivity}: java.lang.NullPointerException
Run Code Online (Sandbox Code Playgroud)
有两个不同的根例外:
有时用:
java.lang.NullPointerException at com.facebook.AuthorizationClient.startOrContinueAuth(AuthorizationClient.java:135)
Run Code Online (Sandbox Code Playgroud)
而有时:
Caused by: java.lang.NullPointerException at com.facebook.AuthorizationClient.logAuthorizationMethodComplete(AuthorizationClient.java:519)
Run Code Online (Sandbox Code Playgroud)
在大多数情况下,我的应用程序运行正常
什么想法可能会导致这个问题?
编辑:
我的facebook sdk conf in manifest:
<activity
android:name="com.facebook.LoginActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/applicationId" />
Run Code Online (Sandbox Code Playgroud)
活动代码:
public class MainActivity extends FragmentActivity {
....
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initSession(savedInstanceState);
...
}
private void initSession(Bundle savedInstanceState) {
Settings.addLoggingBehavior(LoggingBehavior.INCLUDE_ACCESS_TOKENS);
Session session = Session.getActiveSession();
if (session == null) {
if (savedInstanceState != null) {
session = Session.restoreSession(this, null, statusCallback, savedInstanceState);
}
if (session == null) {
session = new Session(this);
}
Session.setActiveSession(session);
if (session.getState().equals(SessionState.CREATED_TOKEN_LOADED)) {
session.openForRead(new Session.OpenRequest(this).setCallback(statusCallback));
}
}
}
@Override
public void onStart() {
super.onStart();
Session session = Session.getActiveSession();
if (session != null) {
session.addCallback(statusCallback);
}
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Session session = Session.getActiveSession();
if (session != null) {
session.onActivityResult(this, requestCode, resultCode, data);
}
}
@Override
public void onStop() {
super.onStop();
Session session = Session.getActiveSession();
if (session != null) {
session.removeCallback(statusCallback);
}
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
Session session = Session.getActiveSession();
Session.saveSession(session, outState);
}
...
Run Code Online (Sandbox Code Playgroud)
}
我也在以前版本的Facebook SDK中遇到此错误.我有最新的Fb android客户端.有帮助吗?
| 归档时间: |
|
| 查看次数: |
5670 次 |
| 最近记录: |