2010-09-20 28 views
7

Tôi muốn chuyển một số tiêu đề trong khi mở một trang web. Ngay bây giờ, tôi đang làm một cái gì đó như: browserIntent = new Intent(Intent.ACTION_VIEW,Uri.parse(data.link)); startActivity(browserIntent);Truyền Tiêu đề trong khi sử dụng Mục đích Trình duyệt

Bây giờ tôi bị kẹt vì tôi không biết cách chuyển tiêu đề bằng browserIntent. Tôi đã thử bằng cách sử dụng browserIntent.putExtra() nhưng nó không hoạt động.

Bất cứ ai có thể vui lòng trợ giúp. !!

Trả lời

11

Đây là câu hỏi lớn nhất của tôi trong 2 ngày qua! Và tôi tìm thấy nó !!!

Tôi có đối tượng Bản đồ mà tôi đã lưu trữ thông tin tiêu đề. Sau đó, như sau:

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); 

Một vấn đề là ... Tôi đoán điều này sẽ chỉ hoạt động với trình duyệt mặc định và các trình duyệt khác sẽ không có Trình duyệt.EXTRA_HEADERS Tôi cho là vậy. Tài nguyên: http://gitorious.org/rowboat/packages-apps-browser/blobs/a563d09392905140893d7a017dd63721577e1953/src/com/android/browser/BrowserActivity.java

+0

Thử nghiệm mới nhất của tôi với Chrome 50 trên Android 6.0.1 hoạt động tốt với EXTRA_HEADERS. – keineantwort

+0

Nó đã được làm việc với chrome 57 cho tôi. nhưng tôi cập nhật chrome của tôi lên 61 và bây giờ nó không hoạt động !! : | – Mansour

+0

@Mansour bạn có tìm hiểu cách giải quyết vấn đề này không? –

1

Như Satoshi đã đoán, tính năng này không hoạt động với Chrome. Nếu bạn cần phải vượt qua tiêu đề, bạn sẽ cần phải tạo WebView của riêng mình và tải url bằng bản đồ tiêu đề. Giả sử rằng mWebView là một tham chiếu đến webview của bạn.

Map<String, String> headers = new HashMap<>(); 
headers.put("referer", "http://some-referer"); 
mWebView.loadUrl(mUrl, headers); 
Các vấn đề liên quan