Android,Twitter和OAuth:不支持协议?

时间:2012-02-21 17:19:42

标签: android oauth twitter4j signpost

(更新了工作代码的帖子)

我一直试图让我的Android应用程序通过Twitter进行授权,然后在我的应用程序中使用回调URL捕获身份验证令牌。

我认为我的AndroidManifest.xml中有错误。根据我的理解,如果我使用android:launchmode =“singleTask”启动我的应用程序,那么我需要在我的主要活动的onResume()方法中检索AccessToken对象。

如果我没有指定singleTask启动,那么我需要在onNewIntent()方法中进行检索。

我在我的清单文件中尝试了两种方法,但我没有在onNewIntent()或onResume()中获得控制权。发生了什么是Twitter重定向我的回调URL,但然后webbrowser只是说“网页不可用”。和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>

1 个答案:

答案 0 :(得分:1)

在这里找到答案:androidforums.com/introductions / ...编辑清单,因此它的工作原理。我将VIEW,DEFAULT和BROWSABLE项目移动到第二个intent-filter节。