2011-01-06 49 views
23

Đây thực sự là câu hỏi hai phần. Trước tiên, có thể phát hiện xem Flash có được cài đặt trên thiết bị Android không? Thứ hai, nếu nó được cài đặt, có thể hiển thị video flash trong một Hoạt động không? Tôi nghĩ bạn sẽ phải sử dụng tiện ích WebView trong Hoạt động của mình để hiển thị nội dung Flash thay vì nội dung như VideoView. Thậm chí Flash có được hỗ trợ trong tiện ích WebView hay chỉ được hỗ trợ bởi ứng dụng Trình duyệt thực tế?Phát hiện nếu Flash được cài đặt trên Android và nhúng video Flash vào Hoạt động

Trả lời

31

Câu trả lời cho cả hai phần câu hỏi của bạn là "có", với phần thứ hai tùy thuộc vào câu hỏi đầu tiên.

(1) Phát hiện nếu Flash được cài đặt.

Sử dụng Trình quản lý gói để tìm cách lấy Thông tin ứng dụng cho gói Flash Player. Nó sẽ ném một ngoại lệ của một gói như vậy không tồn tại.

boolean flashInstalled = false; 
try { 
    PackageManager pm = getPackageManager(); 
    ApplicationInfo ai = pm.getApplicationInfo("com.adobe.flashplayer", 0); 
    if (ai != null) 
    flashInstalled = true; 
} catch (NameNotFoundException e) { 
    flashInstalled = false; 
} 

(2) Đã cung cấp Flash được cài đặt, bạn có thể hiển thị video Flash trong Hoạt động bằng cách nhúng video trong một WebView. Plugin Flash cung cấp hỗ trợ tương tự cho WebView làm trình duyệt gốc.

Nếu séc của bạn ở Phần 1 trả về false, thực hành tốt nhất là ẩn WebView của bạn và thay thế bằng một thông báo lỗi giải thích yêu cầu cho Flash hoặc vẫn tốt hơn, liên kết để tải xuống plugin Flash từ Android Market .

+3

Nếu bạn định liên kết với Market khi không có Flash, có lẽ bạn nên kiểm tra để chắc chắn rằng Market đã được cài đặt trước khi thực hiện, phải Reto? ;) – Josh

+0

@Josh, ứng dụng này chỉ có sẵn thông qua thị trường chính thức vì vậy tôi không quá lo lắng về điều đó. Theo tôi, một thiết bị Android không có các ứng dụng chính thức của Google (gmail, thị trường, bản đồ, lịch, v.v ...) thực sự không đáng để sở hữu. –

+0

Một điểm chính bạn đã bỏ qua: webView.getSettings(). SetPluginsEnabled (true); Bạn sẽ quay bánh xe của bạn trong một thời gian cố gắng để có được điều này để làm việc cho đến khi bạn tìm thấy rằng thiết lập :) –

Các vấn đề liên quan