Twitter4j ライブラリを使用して、Twitter をアプリケーションに実装しています。をDialogFragment
保持しWebView
、ユーザーが自分のアプリで Twitter アカウントにサインインできるようにする があります。ユーザーはサインインできますが、コールバック URL が呼び出されることはありません。代わりに、ユーザーが既にサインインしている場合でも、サインイン ボタンを表示し続けますDialogFragment
。ユーザーがログインした後、コールバック URL を呼び出すにはどうすればよいDialogFragment
ですか?
Twitter 開発者サイトのコールバック URL のレイアウトは次のとおりです。
http://DOMAIN_NAME/SCHEME://HOST
そして、これがActivity
私のマニフェストファイル内の私の宣言です:
<activity
android:name=".TwitterActivity"
android:label="@string/app_name"
android:launchMode="singleInstance">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<!-- Callback URL that Twitter will call which will direct us back into our app -->
<data android:scheme=SCHEME android:host=HOST />
</intent-filter>
</activity>
そして、Activity
クラス内で、コールバック URL を保持する変数を宣言しています。
String callbackUrl = "SCHEME://HOST";
プレースホルダー DOMAIN_NAME、SCHEME、および HOST はすべて、適切な値に対応しています。
最後に、 my 内の login() メソッド内のコードActivity
:
mRequestToken = twitter.getOAuthRequestToken(callbackUrl);
InternetDialog webDialog = new InternetDialog();
webDialog.setUrl(mRequestToken.getAuthenticationURL());
webDialog.show(getSupportFragmentManager(), "Twitter WebView");