2010-09-07 27 views

Trả lời

6

Thật không may, trong tình trạng hiện tại của thị trường, bạn không thể làm điều này . Theo số <supports-screens>reference doc - bạn chỉ có thể lọc theo "kích thước màn hình" và như bạn đã lưu ý, độ phân giải WVGA/FWVGA là "bình thường".

Bạn có thể yêu cầu ứng dụng phát hiện chương trình bằng cách sử dụng lớp DisplayMetrics sử dụng heightPixelswidthPixels nhưng chỉ sau khi được mua/cài đặt, đó là những gì tôi cho rằng bạn muốn tránh.

0

UPDATE: Điều này không làm việc (xem bình luận dưới đây)

Trong biểu hiện của bạn:

<supports-screens 
    android:largeScreens="true" 
    android:normalScreens="false" 
    android:smallScreens="false"/> 
+0

Theo Bảng 1 trong http://developer.android.com/guide/practices/screens_support.html, 240dpi WVGA (480x800), 3,3 "-4.0" đường chéo và FWVGA (480x854), 3,5 "-4.0 "màn hình chéo được coi là" bình thường ", không phải là" lớn ". Nếu tôi không sai, sử dụng normalScreens = "false" như bạn đã đề cập sẽ ngăn các thiết bị đó phát hiện ứng dụng. Tôi có đúng không? – yuku

+0

Hmm .. bạn đã đúng. Lỗi của tôi. Tôi không thực sự chắc chắn bạn có thể làm điều này. Bỏ phiếu cho câu hỏi. –

2

tôi havent cố này trên Android nhưng tôi nghĩ rằng điều này sẽ làm việc:

  • Hãy ứng dụng của bạn một ứng dụng thử nghiệm, do đó nó là miễn phí để tải về nhưng không được tự do nói sau một ngày.
  • Bây giờ trong ứng dụng của bạn thực hiện một trong hai điều, khi ứng dụng bắt đầu phát hiện kích thước màn hình và chỉ hiển thị thông báo chung cho biết độ phân giải màn hình này không được hỗ trợ và hiển thị nút thoát. Một cách khác để làm điều này là để có thư mục layout-480x320 hiển thị cùng một thông báo và cung cấp nút thoát để thoát khỏi ứng dụng. Bằng cách này, bạn có thể có tất cả kích thước màn hình không được hỗ trợ hiển thị thông báo này và không có chức năng. Thư mục mặc định layout sẽ có giao diện người dùng cho các kích thước màn hình được hỗ trợ của bạn. Bằng cách này trên các thiết bị không được hỗ trợ, bạn cũng có thể nói tất cả các thiết bị cầm tay được hỗ trợ trong tin nhắn.
  • Đừng quên để có <supports-screens android:anyDensity="false" /> trong tệp kê khai của bạn.
  • Giờ đây, khi người dùng tải xuống ứng dụng của bạn trên thiết bị không được hỗ trợ, họ sẽ không bị tính phí vì dùng thử một ngày và cũng sẽ được hiển thị rõ ràng rằng thiết bị của anh ấy không được hỗ trợ và có thể thoát và gỡ cài đặt ứng dụng.

Điều này sẽ làm cho ứng dụng của bạn ẩn đi ở độ phân giải không được hỗ trợ nhưng cho phép cơ chế đơn giản và sạch sẽ giao tiếp với người dùng.

+0

Điều này có thể làm hỏng vị trí của bạn trong Android Market. Theo kinh nghiệm xuất bản cá nhân của tôi, phần trăm "người dùng hoạt động" có vẻ là một trong những yếu tố quan trọng nhất trong thuật toán Thị trường. –

0

Theo như một ứng dụng android là có liên quan, tôi không chắc chắn. Câu hỏi hay.

Tuy nhiên nếu bạn đang viết ứng dụng trình duyệt bằng HTML/Javascript, bạn có thể kiểm tra bằng Javascript bằng cách sử dụng kết hợp screen.width/height, document.documentElement.clientWidth/Height và một vài phương thức khác. Nếu bạn thực sự muốn, đây sẽ là cách chặn trang web của bạn từ các máy có độ phân giải thấp.

Bạn cũng có thể chỉ định CSS để phản ứng khác nhau tùy theo kích thước màn hình bằng cách sử dụng truy vấn phương tiện, mặc dù điều đó sẽ ít bị chặn và nhiều hơn nữa để thích ứng với môi trường.

Trang web Quirksmode has a good article về sự phức tạp của kích thước màn hình dtermining và các thuộc tính khác trong môi trường trình duyệt di động.

+0

tại sao -1? tôi không hiểu. – Sajmon

1

sau khi chạm google cứng tôi tìm thấy cấu hình như biểu hiện:

<compatible-screens> 
<screen android:screenSize=["small" | "normal" | "large" | "xlarge"] 
     android:screenDensity=["ldpi" | "mdpi" | "hdpi" | "xhdpi"] /> 
... 

như mô tả here.

trong trường hợp của bạn, bạn có thể giảm tải cho các kích thước sau:

WVGA800 (480x800) WVGA854 (480x854) 600x1024

những màn hình này chiếm 71% thị phần.

cuộn xuống các liên kết sau để tìm thị phần và độ phân giải "tên".

market share

scroll down to find resolution names

Hope đó là helpin' ra. Chúc mừng

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