1

アプリをアンドロイドに接続しようと一日中試みてきましたが、うまくいきません。何時間も検索してきましたが、見つけたリソースはすべて不完全であるか、古くなっています。私はこれまでのところこれを持っています:

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 ライブラリを使用しています。

4

1 に答える 1

1

はい、分かりました。アプリの Twitter ページにダミーのコールバック URL を挿入するだけで済みました。そのような直観的で醜い解決策。

于 2012-12-31T15:33:04.407 に答える