2010-04-19 93 views
9

我正在构建需要OAuth的Android应用程序。除了处理来自雅虎的回调之外,我拥有所有的OAuth功能。我的AndroidManifest.xml文件中包含以下内容:Android:使用意图过滤器处理OAuth回调

 
    <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

你能否详细说明一下如何在android中使用oauth与雅虎代码? – 2011-05-09 13:55:33

回答

10

所以我改变了我的方法来使用自定义方案,而不是网址,现在它们都按预期工作。

所以我的回调网址是:
X://回调

和我的意图过滤器是:

 
<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="X"></data> 
</intent-filter> 

其中X是我的客户方案的名称。