2012-06-08 24 views
40

Tôi cố gắng để sử dụng getWindowManager() bên BroadcastReceiver và tôi nhận được lỗi này:sử dụng getWindowManager() bên BroadcastReceiver

"Phương pháp getWindowManager() là undefined cho các loại MyReceiver"

tôi chỉ cần để có được display.getWidth()display.getHeight()

Bất kỳ gợi ý nào? Cảm ơn rất nhiều.

Trả lời

49

getWindowManager() là phương thức trên Activity. Bạn không thể sử dụng phương pháp này. Vui lòng sử dụng getSystemService() để truy xuất WindowManager, như được mô tả trong the WindowManager documentation.

101

Mẫu mã bạn chỉ cần bối cảnh

 DisplayMetrics metrics = new DisplayMetrics(); 
     WindowManager windowManager = (WindowManager) context 
       .getSystemService(Context.WINDOW_SERVICE); 
     windowManager.getDefaultDisplay().getMetrics(metrics); 

Thông tin thêm đi đến documentation

Hoặc bạn có thể sử dụng một trong

context.getResources().getDisplayMetrics() 

nhưng đọc tài liệu này

Return the current display metrics that are in effect for this resource object. The returned object should be treated as read-only.

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