2012-02-21 3 views
0

(пост обновлен для рабочего кода)Android, Twitter и OAuth: протокол не поддерживается?

Я пытался получить мое приложение для Android, чтобы санкционировать с Twitter, а затем поймать маркер аутентификации с обратным вызовом URL в моем приложении.

Я думаю, что у меня что-то не так в моем AndroidManifest.xml. Насколько я понимаю, если я запускаю свое приложение с помощью андроида: launchmode = "singleTask", то мне нужно получить объект AccessToken в методе onResume() моей основной деятельности.

Если я не укажу запуск singleTask, тогда мне нужно выполнить поиск в методе onNewIntent().

Я пробовал оба способа в файле манифеста, но я не получаю контроль над onNewIntent() или onResume(). Что происходит, так это переадресация Twitter с моим обратным вызовом, но затем веб-браузер просто говорит: «Веб-страница недоступна». и 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> 
+0

Нашли ответ здесь: http://androidforums.com/introductions/218621-twitter4j-oauth-android-simple.html. Отредактированный манифест так работает. Я переместил элементы VIEW, DEFAULT и BROWSABLE во вторую строчку фильтра намерений. – wufoo

+0

Yous должен добавить ваш ответ ниже и пометить его. – brk3

ответ

1

Нашли ответ здесь: androidforums.com/introductions/.... Отредактированный манифест так работает. Я переместил элементы VIEW, DEFAULT и BROWSABLE во вторую строчку фильтра намерений.

Смежные вопросы