Android 报警管理器对通知的响应
我每天都会触发一个警报,我的问题是,我在通知中会有两个按钮,推迟按钮和我得到它按钮 我现在怎么样 设置警报的代码:Android 报警管理器对通知的响应,android,broadcastreceiver,alarmmanager,android-notifications,Android,Broadcastreceiver,Alarmmanager,Android Notifications,我每天都会触发一个警报,我的问题是,我在通知中会有两个按钮,推迟按钮和我得到它按钮 我现在怎么样 设置警报的代码: Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.HOUR_OF_DAY, 17); calendar.set(Calendar.MINUTE, 38); calendar.set(Calendar.SECOND, 00);
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 17);
calendar.set(Calendar.MINUTE, 38);
calendar.set(Calendar.SECOND, 00);
Intent intent = new Intent(getApplicationContext(), Notification_reciever.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 100, intent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingIntent);
接收器中的代码:
Consulta_Tratamento Consulta_Tratamento=新的Consulta_Tratamento()
字符串remedio=consulta_tratamento.getMedicamento();
字符串剂量=consulta_tratamento.getDosagem()
我的问题是,在addaction方法中,我只能传递和挂起内容,而不是方法,因此如何使我的按钮调用方法而不是意图
如何使按钮调用成为方法而不是意图
你不能
在Intent
中设置一个用于创建pendingent
的“额外”。在onCreate()
和/或onNewIntent()
中,检查Intent
中是否存在“extra”,并将其用作调用该方法的触发器
PendingIntent pTomei = PendingIntent.getActivity(context, 0, new Intent(context, actMarcaCon.class),0);
PendingIntent pAdiar = PendingIntent.getActivity(context, 0, new Intent(context, actMarcaCon.class),0);
Uri defaultSoundUri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(context)
.setSmallIcon(R.mipmap.ic_launcher)
.setContentTitle("MHS")
.setContentText(/*Colocar nome do usuário*/"Esta na Hora de Tomar Seu Remédio:" + remedio +
" /n dosagem:" + dose)
.setAutoCancel(true)
.setSound(defaultSoundUri)
.setVibrate(new long[]{100, 250, 100, 500})
.addAction(R.drawable.ic_adiar, "Adiar", pAdiar)
.addAction(R.drawable.ic_tomei, "Tomei", pTomei)
.setPriority(Notification.PRIORITY_HIGH);
if(intent!=null) {
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent,
PendingIntent.FLAG_ONE_SHOT);
notificationBuilder.setContentIntent(pendingIntent);
}
NotificationManager notificationManager =
(NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(0, notificationBuilder.build());