Android Activity com.facebook.LoginActivity已泄漏窗口
我在Facebook登录时遇到了一些困难,一周前它还可以正常工作。 我正在使用facebook sdk 3.0.1,这是我的代码Android Activity com.facebook.LoginActivity已泄漏窗口,android,facebook,Android,Facebook,我在Facebook登录时遇到了一些困难,一周前它还可以正常工作。 我正在使用facebook sdk 3.0.1,这是我的代码 private void fbfunc() { login.setEnabled(false); Session.StatusCallback fbStatusCallback = new Session.StatusCallback() { @Override public void
private void fbfunc() {
login.setEnabled(false);
Session.StatusCallback fbStatusCallback = new Session.StatusCallback() {
@Override
public void call(Session session, SessionState state,
Exception exception) { // callback for session state changes
if (state.isOpened()) {
Request.executeMeRequestAsync(session,
new GraphUserCallback() {
@Override
public void onCompleted(GraphUser user,
Response response) {
login.setEnabled(true);
JSONObject jsonObj = user
.getInnerJSONObject();
dat = jsonObj.toString();
if(pdialog!=null)
pdialog.dismiss();
fblog fb = new fblog();
fb.execute();
System.out.println(">>>>>>>>>" + dat);
}
});
}
}
};
openActiveSession(this, true, fbStatusCallback,
Arrays.asList("email", "user_birthday","user_hometown","user_location"));
}
private static Session openActiveSession(Activity activity,
boolean allowLoginUI, StatusCallback callback,
List<String> permissions) {
OpenRequest openRequest = new OpenRequest(activity)
.setPermissions(permissions)
.setLoginBehavior(SessionLoginBehavior.SSO_WITH_FALLBACK)
.setCallback(callback)
.setDefaultAudience(SessionDefaultAudience.FRIENDS);
Session session = new Session.Builder(activity).build();
if (SessionState.CREATED_TOKEN_LOADED.equals(session.getState())
|| allowLoginUI) {
Session.setActiveSession(session);
session.openForRead(openRequest);
return session;
}
return null;
}
private void fbfunc(){
login.setEnabled(false);
Session.StatusCallback fbStatusCallback=新建Session.StatusCallback(){
@凌驾
公共无效调用(会话、会话状态、,
异常){//会话状态更改的回调
if(state.isOpened()){
请求。executeMeRequestAsync(会话,
新GraphUserCallback(){
@凌驾
未完成公共无效(GraphUser用户,
回应(回应){
login.setEnabled(true);
JSONObject jsonObj=用户
.getInnerJSONObject();
dat=jsonObj.toString();
如果(pdialog!=null)
pdialog.disclose();
fblog fb=新的fblog();
fb.execute();
系统输出打印项次(“>>>>>>>”+dat);
}
});
}
}
};
openActiveSession(此为true,fbStatusCallback,
asList(“电子邮件”、“用户生日”、“用户家乡”、“用户位置”);
}
专用静态会话openActiveSession(活动,
布尔allowLoginUI,状态回调,
列出权限){
OpenRequest OpenRequest=新OpenRequest(活动)
.setPermissions(权限)
.setLoginBehavior(SessionLoginBehavior.SSO_与_回退)
.setCallback(回调)
.setDefaultAudience(SessionDefaultAudience.FRIENDS);
Session Session=新建Session.Builder(activity.build();
if(SessionState.CREATED\u TOKEN\u LOADED.equals(session.getState())
||allowLoginUI){
Session.setActiveSession(Session);
openForRead(openRequest);
返回会议;
}
返回null;
}
现在它给了我一个例外
Activity com.facebook.LoginActivity已泄露了Windows com.android.internal.policy.impl.PhoneWindow$DecorView@405657c0原来是加在这里的
这真的很奇怪,因为它工作得很好。我也面临同样的问题,你有什么解决办法吗?结果是我在facebook面板上使用了错误的密钥哈希