Я хочу установить расписание в своем приложении. Если мое приложение остановлено убийцей задачи приложения, мое приложение автоматически запускается через много секунд после его убийства.установить расписание в android
Мое приложение выглядит так:
public class AlarmServiceDemo extends Activity
{
/** Called when the activity is first created. */
private PendingIntent pendingIntent;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button buttonStart = (Button)findViewById(R.id.startalarm);
Button buttonCancel = (Button)findViewById(R.id.cancelalarm);
buttonStart.setOnClickListener(new Button.OnClickListener()
{
// @Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent myIntent = new Intent(AlarmServiceDemo.this, MyAlarmService.class);
pendingIntent = PendingIntent.getService(AlarmServiceDemo.this, 0, myIntent, 0);
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.add(Calendar.SECOND, 10);
alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
Toast.makeText(AlarmServiceDemo.this, "Start Alarm", Toast.LENGTH_LONG).show();
}
});
buttonCancel.setOnClickListener(new Button.OnClickListener()
{
//@Override
public void onClick(View arg0)
{
// TODO Auto-generated method stub
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
alarmManager.cancel(pendingIntent);
// Tell the user about what we did.
Toast.makeText(AlarmServiceDemo.this, "Cancel!", Toast.LENGTH_LONG).show();
}
});
}
}
И это моя служба:
public class MyAlarmService extends Service
{
@Override
public void onCreate()
{
// TODO Auto-generated method stub
Toast.makeText(this, "MyAlarmService.onCreate()", Toast.LENGTH_LONG).show();
}
@Override
public IBinder onBind(Intent intent)
{
// TODO Auto-generated method stub
Toast.makeText(this, "MyAlarmService.onBind()", Toast.LENGTH_LONG).show();
return null;
}
@Override
public void onDestroy()
{
// TODO Auto-generated method stub
super.onDestroy();
Toast.makeText(this, "MyAlarmService.onDestroy()", Toast.LENGTH_LONG).show();
}
@Override
public void onStart(Intent intent, int startId)
{
// TODO Auto-generated method stub
super.onStart(intent, startId);
Toast.makeText(this, "MyAlarmService.onStart()", Toast.LENGTH_LONG).show();
}
@Override
public boolean onUnbind(Intent intent)
{
// TODO Auto-generated method stub
Toast.makeText(this, "MyAlarmService.onUnbind()", Toast.LENGTH_LONG).show();
return super.onUnbind(intent);
}
}
Но мой график не работает. Как я могу это решить?
ли вы упоминаете вашу службу в манифесте? – Rasel
Я упомянул о своей службе в манифесте. Я получил предупреждение, как это '05-15 10: 30: 02.197: WARN/ActivityManager (69): Планирование перезапуска аварийного сервиса com.exercise.AndroidAlarmService/.MyAlarmService в 5000ms ' what это спасибо @Rasel – akubabas
Кажется, что ваш сервис работает, и вы получаете это предупреждение, потому что сервис снова запускается после сбоя – Rasel