Обратный вызов URL-адреса активности не работает в 4.0.3 ICS

Я использую OAUTH в приложении Twitter, которое отправляет вас на страницу Twitter в приложении, где вы затем входите в систему и перенаправляетесь обратно в приложение, где обрабатываются токены. Это отлично работает в Android 2.0.x и 3.0.x, но в 4.0 я получаю сообщение «Веб-страница недоступна», когда пытаюсь перенаправить обратно в свое приложение. Может кто-нибудь сказать мне, почему это?? У меня есть следующее в моем файле манифеста:

<intent-filter>
    <action android:name="android.intent.action.VIEW"/> 
    <category android:name="android.intent.category.DEFAULT"/>
    <category android:name="android.intent.category.BROWSABLE"/>
    <data android:scheme="myapp" android:host="myactivity"/>
</intent-filter>

На странице твиттера указан URL-адрес обратного вызова, который работал, но теперь не работает в Android 4.0 ICS, может кто-нибудь помочь? Спасибо.


person Android4J    schedule 31.05.2012    source источник
comment
+1 +1 +1 У меня точно такая же проблема с телефоном 4.0.3 (HTC Amaze 4G), хотя редирект работает на всем остальном. Я искал везде, чтобы найти ответ на этот вопрос. Я предполагаю, что это как-то связано с новыми разрешениями, иначе это ошибка самой версии 4.0.3. Редирект работает в 4.1, но не в 4.0.3.   -  person tbjers    schedule 14.09.2012
comment
@tbjers - вы, ребята, смогли найти решение для этого?   -  person DeRagan    schedule 22.07.2013


Ответы (4)


это запись активности файла манифеста

    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data
        android:host="www.yourpage.address"
        android:scheme="alocola" />                //scheme name

</intent-filter>

и это html-страница, открытая в URL-адресе, нажмите «Перейти», чтобы перезвонить

> <html> Visit my blog <?php $homepage =
> file_get_contents('http://www.example.com/api/parameters'); echo
> $homepage; ?>  <a href="alocola://other/parameters/here">   ////alocola use scehma
>  <metahttp-equiv="alocola://other/parameters/here"content="5;
> url="alocola://other/parameters/here" > mysite </a>  or run the   <a
> href=\"alocola"> myactivity</a>  callback</html>
person Sachin C    schedule 29.05.2014

Убедитесь, что ваш CALLBACK_URL

myapp://myactivity
person sais    schedule 29.10.2013

Я использовал это, и это решило мою проблему:

<intent-filter>
   <action android:name="android.intent.action.VIEW" />
   <category android:name="android.intent.category.DEFAULT" />
   <category android:name="android.intent.category.BROWSABLE" />
   <data android:scheme="x-oauthflow-twitter" android:host="callback" />
</intent-filter>
person Shoaib Ahmad    schedule 22.04.2014

   <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:launchMode="singleTop" >

<intent-filter>

        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data
            android:host="t4jsample"
            android:scheme="oauth" />

    </intent-filter> 

Это то, что я использовал в своем приложении для интеграции твиттера. И это сработало для меня, я использую HTC Desire V с ICS 4.0.3.

Я сослался на этот учебник для интеграции. http://www.androidhive.info/2012/09/android-twitter-oauth-connect-tutorial/

person Raghul    schedule 29.04.2014