我正在使用android 2.3 **
开发移动设备和平板电脑的应用程序我想做一些操作,即Operation-A和Operation-B。两者都表现得很糟糕。
我想重复操作-A和操作-B每隔1小时进行一次
操作-A在操作-B <10>的10分钟之前执行
当时间为0.00,1.00,2.00,3.00,....,23.00(我正在使用铁路时间时,执行操作-B。因此不会混淆上午或下午)。
当时间为0.50,1.50,2.50,3.50,......,23.50时执行操作-A
上述场景可以在android中使用。
所有人都对上述情况提出了自己的想法。
我打算使用AlarmManager。 AlarmManager是android系统服务。它用于每1小时通知应用程序。
我打算使用AlarmManager进行操作-A,使用另一个AlarmManager进行操作-B。
我的疑问是,在android中,是否可以在一个应用程序中使用多个具有不同重复值的AlarmManager?
你欢迎所有的想法。
答案 0 :(得分:1)
是的,这项任务将在具有重复功能的AlarmManager的帮助下完成。首先,您需要创建两个接收器类,它们将接收事件。然后需要设置重复警报。
private void setAlarm1()
{
AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.add(Calendar.HOUR, 1);
Intent intent = new Intent(this, AlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0,
intent, PendingIntent.FLAG_CANCEL_CURRENT);
am.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 1000*60*60, pendingIntent);
}
private void setAlarm2()
{
AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.add(Calendar.MINUTE, 50);
Intent intent = new Intent(this, AlarmReceiver_1.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0,
intent, PendingIntent.FLAG_CANCEL_CURRENT);
am.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 1000*60*50, pendingIntent);
}
public class AlarmReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
}
}
public class AlarmReceiver_1 extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
}
}
在menifest中,你需要声明如下的类。
<receiver android:name=".AlarmReceiver" />
<receiver android:name=".AlarmReceiver_1" />