Java 如何在通知中的操作上设置ClickListener

Java 如何在通知中的操作上设置ClickListener,java,android,android-studio,kotlin,Java,Android,Android Studio,Kotlin,在通知中按操作时,我需要运行代码 我不想打开新的活动 我想在SharedPreferences中运行保存值的代码,或者从统计栏中删除通知…oct 当按下停止操作时,我需要删除通知并在SharedPrevenAccess中保存值 如何做到这一点 请帮助我这是您在问题中描述的一种方法,但要获得更复杂的答案,您必须更新您的问题并添加更多细节,如您自己的代码 为了执行您描述的操作,在创建通知时,您必须添加一个操作和与该操作相关的PendingEvent。它将创建一个操作按钮,供您点击以执行某些操作。例如

在通知中按操作时,我需要运行代码 我不想打开新的活动 我想在SharedPreferences中运行保存值的代码,或者从统计栏中删除通知…oct 当按下停止操作时,我需要删除通知并在SharedPrevenAccess中保存值 如何做到这一点


请帮助我

这是您在问题中描述的一种方法,但要获得更复杂的答案,您必须更新您的问题并添加更多细节,如您自己的代码

为了执行您描述的操作,在创建通知时,您必须添加一个操作和与该操作相关的PendingEvent。它将创建一个操作按钮,供您点击以执行某些操作。例如,您可以使用BroadcastReceiver接收点击操作按钮:

ActionReceiver.java

公共类ActionReceiver扩展了BroadcastReceiver{ 公共行动接收人{} @凌驾 接收上下文上下文、意图上的公共无效{ SharedReferences preferences=context.getSharedReferencesPreferences\u FILE\u KEY,MODE\u PRIVATE; SharedPreferences.Editor=preferences.edit; // ... //在这里,你做任何应该发生的事 //单击通知上的按钮后 } } 无论您在何处创建通知,都必须在通知生成器上调用addAction,这将在通知中添加按钮:

Intent actionIntent=新Intentthis,ActionReceiver.class; actionIntent.setActionACTION\u名称; 悬而未决的行动悬而未决的行动= PendingEvent.getBroadcastthis,通知ID, actionIntent,PendingIntent.FLAG_一枪; Notification Notification=新建NotificationCompat.builder此,通道ID ... .addActor.drawable.ic_动作, getStringR.string.action_名称,ActionPendingContent ... 建筑 使用BroadcastReceiver还需要注册它。您应该将其注册到创建通知的类中,该通知与关联的接收者:

actionReceiver=新的actionReceiver; registerReceiveractionReceiver,新的意向过滤\u名称;
谢谢你的解决方案请什么snoozeIntent对象哦,对不起,那是我的一些代码的剩余部分,我已经复制了,现在忘了更改它被编辑了:D非常感谢兄弟