Tôi muốn sử dụng báo thức để chạy một số mã vào một thời điểm nhất định. Tôi đã thực hiện thành công một báo động với máy thu phát đã đăng ký trong tệp kê khai nhưng theo cách tôi hiểu, phương pháp này sử dụng một lớp riêng cho bộ thu phát sóng.Trình quản lý báo động Android với bộ thu phát sóng được đăng ký trong mã thay vì hiển thị
Tôi có thể sử dụng phương pháp này để bắt đầu một hoạt động khác nhưng tôi không thể sử dụng nó để chạy một phương pháp trong hoạt động chính của mình?
(how can I notify a running activity from a broadcast receiver?)
Vì vậy, tôi đã cố gắng để đăng ký thu phát sóng của tôi trong hoạt động chính của tôi như được giải thích trong câu trả lời ở trên.
private BroadcastReceiver receiver = new BroadcastReceiver(){
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "hello", Toast.LENGTH_SHORT).show();
uploadDB();
}
};
public void onResume() {
super.onResume();
IntentFilter filter = new IntentFilter();
filter.addAction(null);
this.registerReceiver(this.receiver, filter);
}
public void onPause() {
super.onPause();
this.unregisterReceiver(this.receiver);
}
Tuy nhiên tôi không thể làm việc này với trình quản lý báo thức, tôi không chắc chắn cách liên kết ý định cảnh báo với người phát sóng. Bất cứ ai có thể chỉ cho tôi một ví dụ về đăng ký một máy thu phát sóng báo động quản lý tự động trong hoạt động? Hoặc giải thích làm thế nào tôi sẽ làm điều này?
Tuyệt vời, tôi đã cố gắng làm cho nó hoạt động, tôi không cần phải thêm mã vào tệp kê khai. Chỉ cần đăng ký bộ thu phát sóng một cách hợp lý với một intentfilter cùng tên. – serenskye
Cảm ơn bạn và +1 cho bạn – Barrier