Чтобы запланировать действие, вы можете использовать AlarmManager
Попробуйте этот код, он работает для меня:
1 / Объявите класс BroadcastReceiver для запуска Action, этот класс может находиться внутри вашей деятельности или снаружи в другом java-файле
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 / В вашем методе Oncreate поместите этот код
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) ;
Запустите ваше приложение. Через 3 секунды появится тост, так что вы можете изменить «System.currentTimeMillis () + 3000» со временем пробуждения.