我正在开发一个项目。在第一次活动中,我使用Facebook登录并记录了新的活动启动之后。在哪里我想从Facebook注销。如何在第二次活动中从Facebook注销。 PLZ帮助我。Facebook从另一活动注销
0
A
回答
0
尝试这样:下面的代码
if (Session.getActiveSession() != null) {
Session.getActiveSession().closeAndClearTokenInformation();
}
Session.setActiveSession(null);
0
使用。
FBLogout.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
clearApplicationData();
FBHandler.getInstance(this).facebookLogout();
}
});
public void clearApplicationData() {
File cache = getCacheDir();
File appDir = new File(cache.getParent());
if (appDir.exists()) {
String[] children = appDir.list();
for (String s : children) {
if (!s.equals("lib") && !s.equals("files")) {
deleteDir(new File(appDir, s));
Log.i("TAG",
"**************** File /data/data/APP_PACKAGE/" + s
+ " DELETED *******************");
}
}
}
}
public static boolean deleteDir(File dir) {
if (dir != null && dir.isDirectory()) {
String[] children = dir.list();
for (int i = 0; i < children.length; i++) {
boolean success = deleteDir(new File(dir, children[i]));
if (!success) {
return false;
}
}
}
return dir.delete();
}
FBHandler.java
public class FBHandler
{
private static final String TAG ="FBHandler";
private static final String appKey = "your app key";
private static Facebook facebook = null;
private static FBHandler _instance = null;
private static Context context = null;
private static String[] permissions = null;
private FBHandler()
{
}
public static FBHandler getInstance(Context ctx)
{
if(ctx == null)
{
Log.d(TAG, "Error: Context is null, hence returning from the FBHandler");
return null;
}
context = ctx;
if(_instance == null)
{
facebook = new Facebook(appKey);
_instance = new FBHandler();
permissions = new String[]{"publish_stream","user_photos", "publish_checkins","email","publish_actions"};
}
return _instance;
}
public void doFbUserLogin(final Activity activity, final fbListner listner)
{
if(activity == null || listner == null)
{
Log.d(TAG, "Error: User Login activity/Listner is null");
return;
}
facebook.authorize(activity, permissions , new DialogListener()
{
public void onComplete(Bundle values)
{
printoCommon.showToastMsg(activity, "facebook Login is succeesfull");
listner.onSuccess();
}
public void onFacebookError(FacebookError e)
{
printoCommon.showToastMsg(activity, e.getMessage());
}
public void onError(DialogError e)
{
printoCommon.showToastMsg(activity, e.getMessage());
}
public void onCancel()
{
printoCommon.showToastMsg(activity, "Facebook Login is cancelled");
}
});
}
public void facebookLogout()
{
AsyncFacebookRunner fbAsyncRun = new AsyncFacebookRunner(facebook);
fbAsyncRun.logout(context, new AsyncFacebookRunner.RequestListener()
{
public void onMalformedURLException(MalformedURLException e, Object state)
{
printoCommon.showToastMsg((Activity) context, e.getMessage());
}
public void onIOException(IOException e, Object state)
{
printoCommon.showToastMsg((Activity) context, e.getMessage());
}
public void onFileNotFoundException(FileNotFoundException e, Object state)
{
printoCommon.showToastMsg((Activity) context, e.getMessage());
}
public void onFacebookError(FacebookError e, Object state)
{
printoCommon.showToastMsg((Activity) context, e.getMessage());
}
public void onComplete(String response, Object state)
{
printoCommon.showToastMsg((Activity)context, "You have logged out from facebook Successfully");
((Activity) context).finish();
}
});
}
}
2
尝试这样做它为我工作。从Facebook //注销
public static void logoutFromFB(Context context) {
Session session = Session.getActiveSession();
if (session != null) {
if (!session.isClosed()) {
session.closeAndClearTokenInformation();
// clear your preferences if saved
}
} else {
session = new Session(context);
Session.setActiveSession(session);
session.closeAndClearTokenInformation();
// clear your preferences if saved
}
}
0
把这个FacebookSdk.sdkInitialize(getApplicationContext());然后在按钮单击事件上写下面的代码:
LoginManager.getInstance()。logOut();
适合我。
相关问题
- 1. 如何使用活动从Facebook注销
- 2. Facebook手动注销
- 3. 注销时注销所有活动
- 4. 从Android上从Facebook注销
- 5. 当用户从Facebook注销时自动注销
- 6. Selenium WebDriver从Facebook注销
- 7. 从Flickr/Facebook注销 - iOS
- 8. 从ios的facebook注销
- 9. 从Facebook注销用户
- 10. 使用WebAuthenticationBroker从Facebook注销
- 11. Android - 注销所有活动
- 12. 注销活动用户
- 13. 如何注销Facebook按钮完全包括从另一个活动包括(更改文本'注销'到'用Facebook登录')
- 14. 如何在注销时销毁活动?
- 15. 注销Facebook会话和启动登录活动
- 16. wp7注销facebook
- 17. Facebook Connect注销
- 18. Facebook Kiosk注销
- 19. track facebook注销
- 20. 注销在另一个
- 21. 注销另一个用户
- 22. Firebase/Facebook - 如何注销/注销?
- 23. 当另一个活动停止时销毁活动
- 24. Facebook注销导致从我的应用程序注销
- 25. facebook-ios-sdk注销
- 26. Facebook没有注销
- 27. 如何注销Facebook?
- 28. facebook登录/注销
- 29. Facebook登录/注销
- 30. Facebook的注销SDK
它不适用于第二项活动。 – Amardeepvijay
你在第二次活动中得到了什么错误..从我的理解你需要将facebook会话作为参数传递给下一个活动 –
如何将fb会话从一个活动传递给另一个活动?我正在使用sp和access_token。 – Amardeepvijay