アプリをアンドロイドに接続しようと一日中試みてきましたが、うまくいきません。何時間も検索してきましたが、見つけたリソースはすべて不完全であるか、古くなっています。私はこれまでのところこれを持っています:
private class MyAsync extends AsyncTask<Void, Void, AccessToken> {
@Override
protected AccessToken doInBackground(Void... params) {
try {
requestToken = twitter.getOAuthRequestToken();
Intent browserIntent = new Intent(Intent.ACTION_VIEW,
Uri.parse(requestToken.getAuthorizationURL()));
startActivity(browserIntent);
} catch (TwitterException e) {
e.printStackTrace();
}
Log.d("token", "here1");
return token;
}
}
上記は認証ページを開く限り機能しますが、(以下のように) コールバック URL を追加すると、アプリが機能しなくなります。もうブラウザーを開くことすらできません。
twitter.getOAuthRequestToken("myapp://callback");
以下の意図フィルターをマニフェストファイルに追加することになっていた場所を読みました。しかし、それは結果に影響しませんでした:
<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="myapp" android:host="callback" />
</intent-filter>
それが役立つ場合は、twitter4j ライブラリを使用しています。