Tôi có một dịch vụ nhận lệnh từ Internet và khởi chạy một chuỗi nền. Chủ đề này được chuyển qua một trình xử lý từ dịch vụ (dịch vụ được giới hạn và thông qua trình xử lý) và gửi một thông báo tới trình xử lý để chụp ảnh. Tôi bị mắc kẹt về việc thực hiện xử lý.Android: Cách sử dụng trình xử lý HandlerMessage và truy cập tham chiếu đến MainActivity
static Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
//TODO: Handle different types of messages
mCamera.takePicture(null, null, MainActivity.this);
}
};
Câu hỏi:
- Liệu Handler cần phải tĩnh? Không có tĩnh, tôi nhận được "Lớp Trình xử lý này phải là tĩnh hoặc rò rỉ có thể xảy ra"
- MCamera có cần tĩnh không? Tôi đã nói để làm cho mCamera tĩnh, nhưng tại sao điều này là cần thiết? Có cách nào để thiết lập takePicture mà không làm cho mCamera tĩnh?
- Cách thích hợp để chuyển tham chiếu đến MainActivity là gì? Ngay bây giờ tôi nhận được lỗi: "Không có ví dụ kèm theo của các loại MainActivity có thể truy cập trong phạm vi"
Có một cái nhìn ở đây: http://stackoverflow.com/a/16071874/2359488 –