Tôi phải làm một ứng dụng mà tôi phải đặt ngày và vào ngày cụ thể đó lúc 9 giờ, tôi phải thực hiện một thông báo. Phương pháp đơn giản nhất để thực hiện điều đó là gì? (Tôi muốn ứng dụng hoạt động ngay cả khi tôi khởi động lại điện thoại của mình hoặc tháo pin ra.) AlarmManager có phải là giải pháp không?thông báo trên Android tại ngày cụ thể
Trả lời
Để lập kế hoạch hành động bạn có thể sử dụng AlarmManager
Hãy thử mã này nó làm việc cho tôi:
1/Khai báo các CLASS BroadcastReceiver để khởi động hành động, lớp này có thể được bên hoạt động của bạn hoặc bên ngoài trong một tập tin java khác
public class Receiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
Toast.makeText(context, intent.getStringExtra("param"),Toast.LENGTH_SHORT).show();
}
}
2/Bên trong Phương pháp onCreate của bạn đặt mã này
AlarmManager alarms = (AlarmManager)this.getSystemService(Context.ALARM_SERVICE);
Receiver receiver = new Receiver();
IntentFilter filter = new IntentFilter("ALARM_ACTION");
registerReceiver(receiver, filter);
Intent intent = new Intent("ALARM_ACTION");
intent.putExtra("param", "My scheduled action");
PendingIntent operation = PendingIntent.getBroadcast(this, 0, intent, 0);
// I choose 3s after the launch of my application
alarms.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+3000, operation) ;
Khởi chạy ứng dụng của bạn một Bánh mì nướng sẽ xuất hiện sau 3 giây, Vì vậy, bạn có thể thay đổi "System.currentTimeMillis() + 3000" với thời gian đánh thức của bạn.
Hoạt động hoàn hảo. Điều này nên được chấp nhận làm câu trả lời. – user1531978
Bạn nên tạo ứng dụng dưới dạng android service.
Dịch vụ là thành phần ứng dụng có thể hoạt động trong thời gian dài hoạt động ở chế độ nền và không cung cấp giao diện người dùng. Một thành phần ứng dụng khác có thể bắt đầu một dịch vụ và nó sẽ tiếp tục để chạy ở chế độ nền ngay cả khi người dùng chuyển sang ứng dụng khác. Ngoài ra, một thành phần có thể liên kết với một dịch vụ để tương tác với nó và thậm chí thực hiện truyền thông interprocess (IPC). Ví dụ: dịch vụ có thể xử lý các giao dịch mạng, phát nhạc, thực hiện tệp I/O hoặc tương tác với nhà cung cấp nội dung, tất cả đều từ nền .
Trình quản lý báo thức là giải pháp tôi đoán. bạn nên đặt trình quản lý báo thức vào một thời điểm cụ thể và sau đó đặt nó làm thông báo trong quá trình khởi động. và điều này nên được thực hiện trong một dịch vụ. tôi hy vọng nó đã giúp.
không, nó đã không, nhưng nhờ anyway – user1253236
Bạn phải sử dụng số AlarmManager
để đặt báo thức loại RTC_WAKEUP
.
Từ docs:
Khi cảnh báo tắt, tiếp cận mục đích đã được đăng ký cho nó là phát sóng bởi hệ thống, tự động khởi động ứng dụng đích nếu nó chưa được chạy. báo động đăng ký được giữ lại trong khi điện thoại đang ngủ (và có thể tùy chọn đánh thức thiết bị lên nếu họ đi tắt trong thời gian đó), nhưng sẽ bị xóa nếu nó bị tắt và khởi động lại .
Vì vậy, điều này có nghĩa rằng:
- Bạn không cần một dịch vụ liên tục chạy để đạt được điều này.
- Có thể cần
BroadcastListener
để nghe sự kiện BOOT_COMPLETE để đăng ký lại báo thức sau khi khởi động lại thiết bị.
- 1. Android - cách đặt báo thức cho một ngày cụ thể
- 2. Đặt thông báo vào thời gian cụ thể android
- 3. Nhận thông báo hiện tại android
- 4. Thông báo lặp lại trên Android 4
- 5. Cách lấy tên ngày hiện tại bằng cách sử dụng ngày cụ thể trong Android?
- 6. Android - EditText trên thông báo trạng thái
- 7. Thông báo tắt màn hình Android trên/
- 8. Thông báo hàng ngày tại thời điểm nhất định
- 9. Đặt thông báo cho thời gian cụ thể
- 10. Tại sao Android bỏ qua việc tạo Thông báo?
- 11. Tiện ích Android không thể nhận được thông báo DATE_CHANGED
- 12. Thông báo đẩy Android
- 13. Thông báo Android không hoạt động
- 14. Thêm ngày vào ngày cụ thể
- 15. Android: Quản lý nhiều thông báo trên thanh trạng thái
- 16. Thông báo Đẩy của Apple cho Người dùng cụ thể
- 17. cách xác định thông báo cụ thể trong ios sdk
- 18. Android: xóa thông báo khỏi thanh thông báo
- 19. Thông báo Android- Hiển thị toàn bộ thông báo
- 20. Cách truy vấn các sự kiện lịch trên Android cho phạm vi ngày cụ thể?
- 21. Thông báo 7: Chọn vật liệu dựa trên điều cụ thể trong kho hàng
- 22. Android cách hiển thị thông báo trên màn hình
- 23. Sử dụng Thông báo trên Android với MvvmCross
- 24. Nội suy thông số xác thực cụ thể trong thông báo xác thực đậu
- 25. Vấn đề về thông báo xác thực ngày thanh công cụ jQuery
- 26. thông báo trên thanh trạng thái trong điện thoại android
- 27. thông báo Android với các nút trên đó
- 28. ngày cụ thể Disable trong tuần trên jQuery UI datepicker
- 29. Thông báo DB SQLite Android
- 30. Android: thông báo từ BroadcastReceiver
bạn có thể mong đợi Android hoạt động như thế nào nếu không có pin? :) – waqaslam
tôi có nghĩa là tôi vẫn có thể nhận được thông báo đó mà không cần truy cập lại ứng dụng – user1253236
OP rõ ràng có nghĩa là nếu anh ta/cô ấy lấy pin ra và thay thế nó. –