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());