【发布时间】:2013-06-12 18:44:28
【问题描述】:
我正在使用 Twitter4j 库在我的应用程序中实现 Twitter。我有一个DialogFragment,它拥有一个WebView,并允许用户使用我的应用程序登录他们的Twitter 帐户。它允许用户登录,但永远不会调用回调 URL。相反,即使用户已经登录,它也会继续在DialogFragment 中显示登录按钮。如何在用户登录后从DialogFragment 调用回调 URL?
这是我在 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 都对应于它们的相应值。
最后,我的Activity 中的 login() 方法中的代码:
mRequestToken = twitter.getOAuthRequestToken(callbackUrl);
InternetDialog webDialog = new InternetDialog();
webDialog.setUrl(mRequestToken.getAuthenticationURL());
webDialog.show(getSupportFragmentManager(), "Twitter WebView");
【问题讨论】:
标签: java android twitter twitter4j android-dialogfragment