Facebook注销错误
error in facebook logout
我在我的应用程序中使用以下代码从 fb 注销。此代码导致注销出错,我无法弄清楚问题所在,我们将不胜感激。
错误信息是
AsyncFacebookRunner 类型中的方法 logout(Context, AsyncFacebookRunner.RequestListener) 不适用于参数 (ProfileFragment, new AsyncFacebookRunner.RequestListener(){})
final RelativeLayout relativeLayout3 = (RelativeLayout) rootView
.findViewById(R.id.logoutlistview);
relativeLayout3.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
logoutFromFacebook();
});
return rootView;
}
public void logoutFromFacebook() {
AsyncFacebookRunner asyncRunner = new AsyncFacebookRunner(facebook);
asyncRunner.logout(getActivity(), new RequestListener() {
@Override
public void onComplete(String response, Object state) {
Log.d("Logout from Facebook", response);
if (Boolean.parseBoolean(response) == true) {
Intent intent = new Intent(getActivity(),
LandingActivity.class);
startActivity(intent);
intent.addFlags(IntentCompat.FLAG_ACTIVITY_CLEAR_TASK
| Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
getActivity().overridePendingTransition(R.anim.slide_in_right,
R.anim.slide_out_left);
}
}
@Override
public void onFileNotFoundException(FileNotFoundException e,
Object state) {
}
@Override
public void onIOException(IOException e, Object state) {
// TODO Auto-generated method stub
}
@Override
public void onMalformedURLException(MalformedURLException e,
Object state) {
// TODO Auto-generated method stub
}
@Override
public void onFacebookError(FacebookError e, Object state) {
// TODO Auto-generated method stub
}
});
}
在我的 logcat
中输出
如果有更好的退出系统的方法请推荐,
使用以下内容:
public static void facebookLogout(Context context) {
Session session = Session.getActiveSession();
if (session != null) {
if (!session.isClosed()) {
session.closeAndClearTokenInformation();
}
} else {
session = new Session(context);
Session.setActiveSession(session);
session.closeAndClearTokenInformation();
}
}
在 Fragment
试试这个
asyncRunner.logout(getActivity(), new RequestListener() {
您应该将 context 作为第一个参数传递给 asyncRunner.logout(....)
我在我的应用程序中使用以下代码从 fb 注销。此代码导致注销出错,我无法弄清楚问题所在,我们将不胜感激。
错误信息是
AsyncFacebookRunner 类型中的方法 logout(Context, AsyncFacebookRunner.RequestListener) 不适用于参数 (ProfileFragment, new AsyncFacebookRunner.RequestListener(){})
final RelativeLayout relativeLayout3 = (RelativeLayout) rootView
.findViewById(R.id.logoutlistview);
relativeLayout3.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
logoutFromFacebook();
});
return rootView;
}
public void logoutFromFacebook() {
AsyncFacebookRunner asyncRunner = new AsyncFacebookRunner(facebook);
asyncRunner.logout(getActivity(), new RequestListener() {
@Override
public void onComplete(String response, Object state) {
Log.d("Logout from Facebook", response);
if (Boolean.parseBoolean(response) == true) {
Intent intent = new Intent(getActivity(),
LandingActivity.class);
startActivity(intent);
intent.addFlags(IntentCompat.FLAG_ACTIVITY_CLEAR_TASK
| Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
getActivity().overridePendingTransition(R.anim.slide_in_right,
R.anim.slide_out_left);
}
}
@Override
public void onFileNotFoundException(FileNotFoundException e,
Object state) {
}
@Override
public void onIOException(IOException e, Object state) {
// TODO Auto-generated method stub
}
@Override
public void onMalformedURLException(MalformedURLException e,
Object state) {
// TODO Auto-generated method stub
}
@Override
public void onFacebookError(FacebookError e, Object state) {
// TODO Auto-generated method stub
}
});
}
在我的 logcat
中输出如果有更好的退出系统的方法请推荐,
使用以下内容:
public static void facebookLogout(Context context) {
Session session = Session.getActiveSession();
if (session != null) {
if (!session.isClosed()) {
session.closeAndClearTokenInformation();
}
} else {
session = new Session(context);
Session.setActiveSession(session);
session.closeAndClearTokenInformation();
}
}
在 Fragment
asyncRunner.logout(getActivity(), new RequestListener() {
您应该将 context 作为第一个参数传递给 asyncRunner.logout(....)