2010-09-14 66 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