2011-05-27 51 views
0

标题可能有点误导,所以我会尽力以最好的方式解释它。在我的Android应用程序中,我使用OAuth身份验证。有一次,我需要打开一个浏览器窗口,以便用户可以批准该应用程序。一旦他们批准它们,它们会被转发到另一个具有一些地址参数的URL。我需要的是从其中一个参数中获取值并将其反馈回我的应用程序。在浏览器中从网址获取数据

我在寻找的是在步骤三和四在this Android & OAuth tutorial中描述的,我只是不完全确定是否应该按照文章中描述的方式。

感谢您的帮助!

回答

0

要通过JavaScript获取URL参数在浏览器中,尝试这样的事情:

function getURLParameters() { 
    var keyValuePairs = location.search.split(/[&?]/g); 
    var params = {}; 
    for (var i = 0, n = keyValuePairs.length; i < n; ++i) { 
    var keyValuePair = keyValuePairs[i]; 
    var eqIndex = keyValuePair.indexOf("="); 
    if (eqIndex >= 0) { 
     params[decodeURIComponent(keyValuePair.substring(0, eqIndex))] 
     = decodeURIComponent(keyValuePair.substring(eqIndex + 1)); 
    } 
    } 
    return params; 
} 

如果指定了两次相同的URL参数(通过名称),那么它只会出现一次在输出中,但你可以改变它来返回一个像对象一样的多图。

+0

我怎么能够将它传递给Android应用程序? – Chiggins 2011-05-27 17:35:12

+0

@Chiggins,我现在明白了。您的应用程序不仅仅是应用程序的薄包装。您*只*用于身份验证。您是否使用'Intent.ACTION_WEB_SEARCH'来启动浏览器? – 2011-05-27 17:45:03

+0

@Chiggins,如果你使用'WebView',你应该可以通过http://developer.android.com/reference/android/webkit/WebView.html#getUrl() – 2011-05-27 17:51:09