twitter4j を Android アプリに統合しましたが、ほとんどの場合シームレスに動作しますが、ユーザーが twitter へのログイン資格情報をブラウザーに保存するように指示したときに twitter で認証しようとすると、散発的な問題が発生することに気付きました。getOAuthRequestToken(callbackURL) への呼び出しが行われた後、通常どおり Android ブラウザーが開かれますが、ブラウザーは次のようなエラー ページをポップアップ表示します。
Web page not available
The web page at https://api.twitter.comtwitter-callback-uri:///?oath_token=.....................
そのため、ブラウザが無効な URL にリダイレクトされているようです。リダイレクトは次のようにすべきだと思います: twitter-callback-uri:///?oath_token=................
詳細情報を提供するために、トークンのリクエストは次のようになります。
rToken = twit.getOAuthRequestToken("twitter-callback-uri:///");
そして、この uri を認識するためにインテント フィルターが Android マニフェストに追加されました。インテント フィルタは次のようになります。
<activity android:name=".LoginActivity"
android:screenOrientation="unspecified"
android:finishOnTaskLaunch="true">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="twitter-callback-uri"/>
</intent-filter>
</activity>
これは通常は機能しますが、唯一の問題は、ユーザーの Twitter ログイン資格情報がブラウザーに保存されている場合のようです。