每次我运行我的应用程序并尝试连接到Facebook时,它都会取消。它已经被授权,我可以在我的普通Facebook应用程序上连接。我一直在寻找解决方案大约两天,找不到任何解决方案。这实际上是阻止我完成我的应用程序的唯一问题...希望我能得到一些答案。
我正在使用此Facebook SDK
这是我的Facebook授权代码:
public void authFB(){
Log.i("IN","FB - Authorizing");
fb.authorize(this, new String[]{ "publish_stream" }, new DialogListener(){
@Override
public void onComplete(Bundle values) {
SharedPreferences.Editor editor = prefs.edit();
editor.putString("access_token", fb.getAccessToken());
editor.putLong("access_expires", fb.getAccessExpires());
editor.putString("post_id",values.getString("post_id"));
editor.commit();
Log.i("IN","Login Successful");
checkFB();
}
@Override
public void onFacebookError(FacebookError e) {
Log.i("IN","Login UnSuccessful - fb error");
e.printStackTrace();
checkFB();
}
@Override
public void onError(DialogError e) {
Log.i("IN","Login UnSuccessful - error");
e.printStackTrace();
checkFB();
}
@Override
public void onCancel() {
Log.i("IN","Login UnSuccessful - cancel");
checkFB();
}
});
}
这是我的onCreate:
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
prefs = getPreferences(MODE_PRIVATE);
String access_token = prefs.getString("access_token", null);
//String post_id = prefs.getString("post_id",null);
long expires = prefs.getLong("access_expires",0);
if(access_token != null){
fb.setAccessToken(access_token);
}
if(expires != 0){
fb.setAccessExpires(expires);
}
if(!fb.isSessionValid()){
authFB();
}
我对错误有任何想法。我现在在两个不同的手机上试过它,这是我得到的调试:
03-07 18:18:43.460: INFO/IN(6741): Login UnSuccessful - cancel
这意味着正在调用onCancel。
混淆。
感谢。
答案 0 :(得分:1)
我自己修好了。 我一直收到这个错误,因为我在我的活动清单中有这个:
android:launchMode="singleInstance"
我发布这个是因为希望将来可以帮助某人。
它创建错误的原因是因为它试图创建secondInstance(duh)并且不允许这样做。