ページビューの合計

2015年10月18日日曜日

twitter4jキャンセルボタンの検知

キャンセルはcallbackURLに「denied」が設定されているので
これを検知してキャンセル時の動作をすればいいだけなようだ

@Override
protected AccessToken doInBackground(String... params) {
    // キャンセル時の挙動
    // キャンセルの場合はcallbackURLに"denied"が設定されてくる
    if(intent.getData().toString().indexOf("denied") != -1){
        return null;
    }

    try {
        return _twitter.getOAuthAccessToken(_reqToken, params[0]);
    } catch (TwitterException e) {
        e.printStackTrace();
    }
    return null;
}

@Override
protected void onPostExecute(AccessToken accessToken) {
    if (accessToken != null) {
        // 承認時
        successOAuth(accessToken);
    } else {
        // キャンセル時
        fatalOAuth();
    }
}