2010-09-14 34 views
4

我構建了一個需要OAuth的Android應用程序。所有這一切都運行良好,使用自定義方案回撥,這是由Android攔截。似乎雅虎已經改變了目標職位,現在雅虎不接受定製計劃。針對http方案的Android意圖過濾器

我現在正在尋找可能的替代方法。我的第一個嘗試是使用正常的http方案並修改我的意圖過濾器來攔截新的URL。我在AndroidManifest.xml中如下:

<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:host="www.test.com" android:scheme="http"></data> 
    </intent-filter> 

凡www.test.com將與我自己的域名來代替。看起來:

  • 當我點擊頁面上的鏈接時,會觸發此過濾器。
  • 它沒有被雅虎重定向觸發,瀏覽器打開www.test.com網站
  • 當我直接在瀏覽器中輸入域名時,它不會被觸發。

所以任何人可以幫助我

  • 當正是這種意圖過濾器將被觸發?
  • 意向過濾器或權限的任何更改將擴大過濾器以應用於重定向請求?
  • 我可以使用其他方法嗎?

感謝您的幫助。

+0

哦不,我目前有完全相同的問題,所以我真的必須創建一個重定向腳本?必須有更好的解決方案.. – 2011-02-06 00:07:57

回答

3

另一種解決方案如何在www.test.com上放置一個提取oauth參數並重定向到自定義方案回調的腳本?

諸如例如oauth.php(原諒我的PHP ...)

<? 
header('Location:myschema://mythost?oauth_verifier='.urlencode($_GET['oauth_verifier']). 
    '&oauth_token='.urlencode($_GET['oauth_token'])); 
die(); 
?> 
我成功地用它來谷歌的OAuth這對回調URL相同的限制

+0

謝謝。這也是我最後使用的方法。這是笨重的,但它的作品。令人沮喪的是在流程中添加額外的跳躍。 – 2010-10-10 18:25:46