我在我的应用程序中使用新的Facebook Android Sdk,我在开发者页面中创建了App ID并使用了以下代码
代码:
private List<String> PERMISSIONS = Arrays.asList("user_photos","email");
public void loginToFacebook(){
Session.openActiveSession(getParent(), true, new Session.StatusCallback() {
@Override
public void call(final Session session, SessionState state,Exception exception) {
// TODO Auto-generated method stub
Log.e("session",""+session.isOpened());
// dialog.dismiss();
if (session.isOpened()) {
/
List<String> permissions = session.getPermissions();
Log.e("current permissions",""+permissions);
if (!isSubsetOf(PERMISSIONS, permissions)) {
Log.e("if permissions=======",""+permissions);
Session.NewPermissionsRequest newPermissionsRequest = new Session.NewPermissionsRequest(getParent(), PERMISSIONS);
session.requestNewReadPermissions(newPermissionsRequest);
return;
}
// make request to the /me API
Request.executeMeRequestAsync(session, new Request.GraphUserCallback() {
@Override
public void onCompleted(GraphUser user,Response response) {
// TODO Auto-generated method stub
Log.e("oncompletedddddddddddd","if open user");
if (user != null) {
Log.e("session","if open user");
Intent intent=new Intent(getParent(),FacebookPostActivity.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
View view = CheckInTab.group.getLocalActivityManager().startActivity("q",intent).getDecorView();
// Again, replace the view
CheckInTab.group.replaceView(view);
// publishFeedDialog(strFacebookId);
}catch(Exception e){e.printStackTrace();}
}
// Check for publish permissions
}
});
}
}
});
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Session.getActiveSession().onActivityResult(getParent(), requestCode, resultCode, data);
}
private boolean isSubsetOf(Collection<String> subset, Collection<String> superset) {
for (String string : subset) {
if (!superset.contains(string)) {
return false;
}
}
return true;
}
我在登录屏幕后不断收到下面的对话框,我还发现即使我们点击取消或交叉,也会出现相同的对话框。
请建议解决方案。
答案 0 :(得分:0)
您可以从Facebook本身的已批准应用列表中删除该应用。 从您的浏览器:
来自手机上的Facebook应用:
在您从Facebook删除了应用权限后,您应该可以再次运行您的应用,并允许您登录。</ p>