(更新后的工作代码)
我一直在尝试让我的 android 应用程序通过 Twitter 进行授权,然后在我的应用程序中使用回调 URL 捕获身份验证令牌。
我认为我的 AndroidManifest.xml 有问题。据我了解,如果我使用 android:launchmode="singleTask" 启动我的应用程序,那么我需要在我的主要活动的 onResume() 方法中检索 AccessToken 对象。
如果我没有指定 singleTask 启动,那么我需要在 onNewIntent() 方法中进行检索。
我在清单文件中尝试了两种方法,但我无法控制 onNewIntent() 或 onResume()。发生的情况是 Twitter 使用我的回调 URL 重定向,但随后网络浏览器只是显示“网页不可用”。和 logcat 说:
Tab E onReceivedError -10 myapp://www.authtoke.app?oauth_token=2Y3jZMfHZ06Teezzy3l1KvlWqs961tsqXFlTgMHrA&oauth_verifier=PBfCueZLEzEteBoLTksDARQDRi3raVi5FiEJllCYus The protocol is not supported.
有谁知道我搞砸了什么?这是清单条目:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.test.twitterLib"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="4" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<application android:name=".myAppVars" android:icon="@drawable/ic_launcher" android:label="@string/app_name" >
<activity android:name=".TwitterLibActivity" android:label="@string/app_name" android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.MAIN" > </action>
<category android:name="android.intent.category.LAUNCHER" ></category>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" > </action>
<category android:name="android.intent.category.DEFAULT" ></category>
<category android:name="android.intent.category.BROWSABLE" > </category>
<data android:scheme="myapp" android:host="www.authtoke.app"> </data>
</intent-filter>
</activity>
</application>
</manifest>