tôi chỉ viết một ứng dụng mà có thể làm được điều này, đây là một số mã ví dụ: Trước tiên, tôi tạo ra một AlarmManager và thiết lập một báo động trong một thời gian cụ thể:
AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 15);
calendar.set(Calendar.MINUTE, 30);
calendar.set(Calendar.SECOND, 0);
// if the time is before now then add one day to it
if(calendar.getTimeInMillis() < System.currentTimeMillis())
calendar.setTimeInMillis(calendar.getTimeInMillis()+86400000);
manager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 0);
Tôi cần một BroadcastReciever để nhận này báo thức. Đối với điều này tôi phải đưa vào manifest của tôi:
<application ...>
<receiver android:name="hu.bendaf.example.AlarmReceiver"/>
...
</application>
và tôi cũng có lớp AlarmReciever, mà bắt đầu Hoạt động chính của tôi vào Nhận các:
public class AlarmReceiver extends BroadcastReceiver {
public static final String WAKE = "Wake up";
@Override
public void onReceive(Context context, Intent intent) {
//Starting MainActivity
Intent myAct = new Intent(context, MainActivity.class);
myAct.putExtra(WAKE, true);
myAct.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(myAct);
}
}
và chức năng onCreate Hoạt động của tôi tôi có:
// Wake up phone if needed
if(getIntent().hasExtra(AlarmReceiver.WAKE) && getIntent().getExtras().getBoolean(AlarmReceiver.WAKE)){
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD |
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED |
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON,
WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD |
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED |
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
}
Mã này đánh thức điện thoại của tôi sau 15:30:00 (hôm nay là ngày hôm nay hoặc ngày mai).
Khi nào bạn muốn nó thức dậy? Sau một thời gian chờ nhất định? Vào một ngày và giờ nhất định? –
Bạn đã tìm thấy giải pháp chưa? Bạn có thấy bất kỳ câu trả lời nào hữu ích không? – bendaf
Xin vui lòng nếu bạn tìm thấy câu trả lời cho câu hỏi của bạn chấp nhận câu hỏi từ bên dưới hoặc sửa đổi câu hỏi của bạn để tôi có thể giúp bạn nhiều hơn nữa. – bendaf