現在TwitterとAndroidを連携させたアプリを作っています。
Twitterの認証ページに飛ぶと「連携アプリを認証」と「キャンセル」というボタンがあり、「連携アプリを認証」を押すと認証が終わり投稿できるのですが、認証ページで「キャンセル」を押すと java.lang.RuntimeException: An error occured while executing doInBackground()というエラーが返ってきてアプリが落ちてしまいます。多分僕が予想するに、キャンセルボタンが押されても「連携アプリを認証」が押された時のような投稿処理が行われているのかなと思います。
 そこでキャンセルボタンが押されたことを検知したいのですが、検知する方法はあるのでしょうか?ご教授いただけますと幸いです。ちなみにTwitter4Jというライブラリを使っています。すみませんが、よろしくお願いします。

java.lang.RuntimeException: An error occured while executing doInBackground()
            at android.os.AsyncTask$3.done(AsyncTask.java:300)
            at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
            at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
            at java.util.concurrent.FutureTask.run(FutureTask.java:242)
            at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
            at java.lang.Thread.run(Thread.java:841)
     Caused by: java.lang.NullPointerException
            at libcore.net.UriCodec.encode(UriCodec.java:132)
            at java.net.URLEncoder.encode(URLEncoder.java:57)
            at twitter4j.HttpParameter.encode(HttpParameter.java:261)
            at twitter4j.auth.OAuthAuthorization.encodeParameters(OAuthAuthorization.java:384)
            at twitter4j.auth.OAuthAuthorization.encodeParameters(OAuthAuthorization.java:367)
            at twitter4j.auth.OAuthAuthorization.normalizeRequestParameters(OAuthAuthorization.java:351)
            at twitter4j.auth.OAuthAuthorization.generateAuthorizationHeader(OAuthAuthorization.java:198)
            at twitter4j.auth.OAuthAuthorization.generateAuthorizationHeader(OAuthAuthorization.java:250)
            at twitter4j.auth.OAuthAuthorization.getAuthorizationHeader(OAuthAuthorization.java:66)
            at twitter4j.HttpClientImpl.setHeaders(HttpClientImpl.java:207)
            at twitter4j.HttpClientImpl.handleRequest(HttpClientImpl.java:90)
            at twitter4j.HttpClientBase.request(HttpClientBase.java:53)
            at twitter4j.HttpClientBase.post(HttpClientBase.java:82)
            at twitter4j.auth.OAuthAuthorization.getOAuthAccessToken(OAuthAuthorization.java:124)
            at twitter4j.auth.OAuthAuthorization.getOAuthAccessToken(OAuthAuthorization.java:138)
            at twitter4j.TwitterBaseImpl.getOAuthAccessToken(TwitterBaseImpl.java:328)
            at com.example.appdev.ipsns.twitter.TwitterOAuthActivity$2.doInBackground(TwitterOAuthActivity.java:77)
            at com.example.appdev.ipsns.twitter.TwitterOAuthActivity$2.doInBackground(TwitterOAuthActivity.java:73)
            at android.os.AsyncTask$2.call(AsyncTask.java:288)
            at java.util.concurrent.FutureTask.run(FutureTask.java:237)
            at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
            at java.lang.Thread.run(Thread.java:841)