Android 使用报警管理器计划消息
我正在开发一个Android应用程序,它可以安排要发送的消息。我正在使用报警管理器。我的守则主要内容如下:Android 使用报警管理器计划消息,android,alarmmanager,Android,Alarmmanager,我正在开发一个Android应用程序,它可以安排要发送的消息。我正在使用报警管理器。我的守则主要内容如下: mConfirm.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { Intent intent = new Intent(getApplicationContext(),MyNotificationService.class);
mConfirm.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent =
new Intent(getApplicationContext(),MyNotificationService.class);
mMessage = mEditTextMessage.getText().toString();
mNumber = mEditTextNumber.getText().toString();
c.set(mYear, mMonth, mDay);
c.set(Calendar.HOUR_OF_DAY, mHour);
c.set(Calendar.MINUTE, mMinutes);
Bundle bundle = new Bundle();
bundle.putCharSequence("number", mNumber);
bundle.putCharSequence("message", mMessage);
intent.putExtras(bundle);
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
PendingIntent pendingIntent =
PendingIntent.getService(getApplicationContext(), 0, intent, 0);
alarmManager.set(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(),
pendingIntent);
}
});
我应该如何实现MyNotificationService类,以便它在设置的时间发送消息?该类是服务还是广播接收器?下面的代码允许您每5秒调用一次广播接收器。您可以使用set()或setTimeZone()方法在特定时间进行设置
AlarmManager am=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context, AlarmManagerBroadcastReceiver.class);
intent.putExtra("abc", Boolean.FALSE);
PendingIntent pi = PendingIntent.getBroadcast(context, 0, intent, 0);
//After after 5 seconds
am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 1000 * 5 , pi);
AlarmManagerBroadcastReceiver类是一个广播程序。下面的代码允许您每5秒调用一个广播接收器。您可以使用set()或setTimeZone()方法在特定时间进行设置
AlarmManager am=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context, AlarmManagerBroadcastReceiver.class);
intent.putExtra("abc", Boolean.FALSE);
PendingIntent pi = PendingIntent.getBroadcast(context, 0, intent, 0);
//After after 5 seconds
am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 1000 * 5 , pi);
AlarmManagerBroadcastReceiver类是一个广播程序。您可以使用广播接收器接收来自目的地的消息。 您可以创建一个接收者类,在其中可以接收消息
Intent intent=new Intent(MyReceiver.ACTION_REFRESH_ALARM);
pendingIntent=PendingIntent.getBroadcast(this, 0, intent, 0);
alarmManager=(AlarmManager)getSystemService(ALARM_SERVICE);
alarmManager.setInexactRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,0,pendingIntent);
public class MyReceiver extends BroadcastReceiver
{
public static final String ACTION_REFRESH_ALARM ="com.paad.network.ACTION_REFRESH_ALARM";
@Override
public void onReceive(Context context, Intent intent) {
//Extract Messages
}}
您可以使用广播接收器接收来自目的地的消息。 您可以创建一个接收者类,在其中可以接收消息
Intent intent=new Intent(MyReceiver.ACTION_REFRESH_ALARM);
pendingIntent=PendingIntent.getBroadcast(this, 0, intent, 0);
alarmManager=(AlarmManager)getSystemService(ALARM_SERVICE);
alarmManager.setInexactRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,0,pendingIntent);
public class MyReceiver extends BroadcastReceiver
{
public static final String ACTION_REFRESH_ALARM ="com.paad.network.ACTION_REFRESH_ALARM";
@Override
public void onReceive(Context context, Intent intent) {
//Extract Messages
}}
这取决于你想用什么,双方都会用。这取决于你想用什么,双方都会用