Tôi đã tạo một ứng dụng tải trang web bằng cách sử dụng WebView. Mọi thứ hoạt động tốt ngoại trừ việc tôi không thể phát bất kỳ tệp video nào trong ứng dụng. Vì vậy, những gì tôi đang tìm kiếm giúp đỡ là nhận được ứng dụng của tôi để khởi chạy mediaplayer khi tôi nhấp vào một liên kết kết thúc bằng .mp4. Bất kỳ trợ giúp và mẹo nào sẽ được đánh giá cao!khởi chạy mediaplayer khi nhấp vào liên kết trong WebView
Trả lời
Bạn cần phải ghi đè lên các phương pháp shouldOverrideUrlLoading
của webViewCient của bạn ...
final class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.endsWith(".mp4") {
Intent intent = new Intent("android.intent.action.VIEW", Uri.parse(url));
view.getContext().startActivity(intent);
return true;
} else {
return super.shouldOverrideUrlLoading(view, url);
}
}
}
... mà bạn gán cho webview của bạn:
WebViewClient webViewClient = new MyWebViewClient();
webView.setWebViewClient(webViewClient);
Edit: cũng rất quan trọng mà bạn thêm:
webView.getSettings().setAllowFileAccess(true);
để cho phép tải xuống/tải xuống tệp chẳng hạn như mp 4 tệp.
Cảm ơn bạn đã phản hồi nhanh! Tôi đã thêm mã vào ứng dụng của tôi và nó biên dịch mà không có lỗi .. Nhưng nó vẫn không tải mediaplayer khi liên kết được nhấp. – Kyle
Thêm webView.getSettings(). SetAllowFileAccess (true); Điều đó có thể giúp bạn. Tôi chỉ thử nó trong mã của tôi và nó hoạt động. –
Hey Mathias, Cảm ơn bạn rất nhiều vì sự giúp đỡ của bạn! Tôi đã có thể làm cho nó hoạt động trên Emulator. Tôi đã cố gắng tải ứng dụng trên điện thoại của mình chạy phiên bản 2.2 và nó khởi chạy trình duyệt web và sau đó đóng, đưa tôi quay lại ứng dụng của tôi. Không có video nào cả. Tôi không thực sự chắc chắn những gì có thể sai, khác hơn là tôi đang chạy Emulator trên 1.5. Bạn nghĩ sao? – Kyle
Lưu ý: bạn có thể cũng muốn đặt loại dữ liệu. Điều này dường như giải quyết một số vấn đề trong Android 4.0 (Ice Cream Sandwich). Ví dụ:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(url), "video/*");
startActivity(intent);`
nhờ nó đã giúp tôi –
- 1. Android WebView gặp sự cố khi nhấp vào liên kết
- 2. Buộc liên kết WebView để khởi chạy Safari?
- 3. Dừng sự kiện kéo trong khi nhấp vào liên kết
- 4. Liên kết UIWebView Nhấp vào
- 5. Selenium nhấp vào liên kết
- 6. cảnh báo bật lên javascript khi nhấp vào liên kết
- 7. webview sẽ không tải các tệp pdf trên liên kết, hãy nhấp vào
- 8. Tự động chạy JNLP khi nhấp vào
- 9. Làm cách nào để chạy mã PHP khi người dùng nhấp vào một liên kết?
- 10. Tự động nhấp vào WebView
- 11. Số lần nhấp chuột vào liên kết sai (hoặc không nhấp vào liên kết) trên một số máy nhất định
- 12. Khởi chạy ứng dụng android khi liên kết được nhấn vào SMS
- 13. C# Siêu liên kết trong TextBlock: không có gì xảy ra khi tôi nhấp vào nó
- 14. Khi nào javascript ngừng chạy trên một trang sau khi một liên kết được nhấp?
- 15. Cách chặn khi người dùng nhấp vào liên kết trong một webbrowser
- 16. Khởi chạy ứng dụng iPhone từ liên kết trong email
- 17. Để khởi chạy/kích hoạt/chạy tiện ích của Chrome bằng liên kết trang web có thể nhấp?
- 18. hudson/jenkins - Hiển thị nội dung khi nhấp vào liên kết kết quả
- 19. Liên kết sự kiện cảm ứng Android WebView
- 20. khởi chạy hoạt động từ dịch vụ khi thông báo được nhấp vào
- 21. Strange webview black nhấp nháy khi cuộn
- 22. Nhấp liên kết với JavaScript trong mechanize
- 23. Lỗi vào fosuserbundle khi nhấp đúp vào liên kết xác nhận?
- 24. PhantomJs nhấp vào liên kết hoặc chạy các chức năng trên trang
- 25. iPhone - UIWebview - Nhận URL của liên kết được nhấp vào
- 26. Cách mở ứng dụng thư của iPhone khi nhấp vào liên kết email trong UITextView?
- 27. Gọi hàm C# trong ASP.NET khi nhấp vào liên kết HTML
- 28. iPhone/iPad. Làm cách nào để khởi chạy ứng dụng từ liên kết trong Safari?
- 29. Khởi chạy Ứng dụng Android từ liên kết hoặc email
- 30. Làm cách nào để vô hiệu hóa Nhấp vào WebView?
Bạn có muốn sử dụng trình phát đa phương tiện của riêng mình trong ứng dụng (lớp MediaPlayer.java SDK) hoặc bạn muốn khởi chạy trình phát phương tiện mặc định của hệ thống không? –