我想在打开网页时传递一些标题。现在,我正在做类似的事情:)
browserIntent = new Intent(Intent.ACTION_VIEW,Uri.parse(data.link));
startActivity(browserIntent
;
现在我被卡住了,因为我不知道如何使用 browserIntent 传递标头。我试过使用 browserIntent.putExtra() 但它不起作用。
谁能帮忙啊!!
我想在打开网页时传递一些标题。现在,我正在做类似的事情:)
browserIntent = new Intent(Intent.ACTION_VIEW,Uri.parse(data.link));
startActivity(browserIntent
;
现在我被卡住了,因为我不知道如何使用 browserIntent 传递标头。我试过使用 browserIntent.putExtra() 但它不起作用。
谁能帮忙啊!!
这也是我最近两天最大的问题!而且我找到了!!!
我有一个存储标头信息的 Map 对象。然后是以下内容:
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
Bundle bundle = new Bundle();
if(mExtraHeader!=null){
for(String key: mExtraHeader.keySet()){
bundle.putString(key, mExtraHeader.get(key));
}
}
i.putExtra(Browser.EXTRA_HEADERS, bundle);
startActivity(i);
一个问题是......我想这只能与默认浏览器一起使用,而其他浏览器不会有 Browser.EXTRA_HEADERS 我想。资源: http: //gitorious.org/rowboat/packages-apps-browser/blobs/a563d09392905140893d7a017dd63721577e1953/src/com/android/browser/BrowserActivity.java
正如 Satoshi 猜测的那样,这不适用于 Chrome。如果需要传递标头,则需要创建自己的 WebView 并使用标头映射加载 url。假设 mWebView 是对您的 webview 的引用。
Map<String, String> headers = new HashMap<>();
headers.put("referer", "http://some-referer");
mWebView.loadUrl(mUrl, headers);