Android Facebook:登录一个活动,另一个活动登出

时间:2013-05-13 12:32:50

标签: java android facebook android-facebook

从我的应用程序中,我正在尝试访问Facebook。这个要求就像我可以登录到facebook的两个活动一样,我只能登出一个活动。考虑活动A和B,我可以从活动A和B登录到facebook,我只能在从活动B退出后从活动B注销,如果我尝试从活动A访问facebook,它应该要求登录。现在它不是从登录请求,直接显示App身份验证页面enter image description here

没有正确退出。 这是我的代码。

protected Handler mHandler = new Handler();
private final class FBLogoutListener implements RequestListener {
    @Override
    public void onComplete(String arg0, Object arg1) {
        mHandler.post(new Runnable() {
            @Override
            public void run() {
                Log.w(TAG,"onComplete:");
                FacebookUtility.clear();
            }
        });
    }
    @Override
    public void onFacebookError(FacebookError arg0, Object arg1) {}
    @Override
    public void onFileNotFoundException(FileNotFoundException arg0,
            Object arg1) {}
    @Override
    public void onIOException(IOException arg0, Object arg1) {}

    @Override
    public void onMalformedURLException(MalformedURLException arg0,
            Object arg1) {}
}

AsyncFacebookRunner facebookRunner = new AsyncFacebookRunner(FacebookUtility.mFB);
FBLogoutListener logoutListener = new FBLogoutListener();
facebookRunner.logout(this,logoutListener);

任何解决方案,我在做错误。

2 个答案:

答案 0 :(得分:1)

如果您使用登录管理器类登录,那么这一行代码就足够了。

<head>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script src="/static/highcharts/js/highcharts.js"></script>
    <script src="/static/highcharts/js/modules/exporting.js"></script>

    <title>Tool Tracker</title>        

<body>
    <div>

<div id="chart_id" class="chart" style="height:100px; width:100%"></div>

    </div>


<!-- Maps the Python template context variables from views.py to the Highchart js variables -->
<script>
var chart_id = chart_id
var chart = {'renderTo': 'chart_id', 'height': 500}
var title = {'text': '123456 Tool life by Location'}
var xAxis = {'categories': ['T01', 'T02']}
var series = [{'data': [211, 550], 'type': 'column', 'name': 'Average'}]
</script>

<!-- Highchart js. Variable map shown above -->
<script>
$(document).ready(function() {
    $(chart_id).highcharts({
        chart: chart,
        title: title,
        xAxis: xAxis,
        series: series
    });
});
 </script>

</body>

这对我有用..

答案 1 :(得分:0)

另一项活动中的FB退出:

// fb logout

    Session session = Session.getActiveSession();
                                if (session != null) {
                                    if (!session.isClosed()) {
                                        session.closeAndClearTokenInformation();
                                    }
                                } else {
                                    session = new Session(MainActivity.this);
                                    Session.setActiveSession(session);
                                    session.closeAndClearTokenInformation();
                                }

                                preferenceHelper.onLogOut();
                                finish();
                                startActivity(new Intent(MainActivity.this,
                                        LoginActivity.class));