gpt4 book ai didi

android - 单击通知按钮 - 方法调用

转载 作者:行者123 更新时间:2023-11-29 01:41:15 24 4
gpt4 key购买 nike

我创建了一个要显示在状态栏上的通知

在通知中我添加了一个 Button,它执行一些操作。

要调用特定方法,单击按钮我正在使用建议的方法 here .

代码:

// Building notification - this code is present inside a Service
NotificationManager mNotificationManager = (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE);

Intent activityIntent = new Intent(this, HomeActivity.class);
activityIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, activityIntent, 0);

NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this).setContentTitle(fileName.toString()).setContentText("Subject")
.setSmallIcon(R.drawable.ic_app_icon).setContentIntent(pendingIntent).setAutoCancel(false);


// code to add button
Intent openListIntent = new Intent();
openListIntent.putExtra("list_intent", true);
PendingIntent listPendingIntent = PendingIntent.getActivity(this, 0, openListIntent, PendingIntent.FLAG_UPDATE_CURRENT);
notificationBuilder.addAction(R.drawable.ic_open_list, "List", listPendingIntent);

Notification notification = notificationBuilder.build();

// Code in HomeActivity.java to perform operation on button click

@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
boolean openListFlag = intent.getBooleanExtra("list_intent", false);
if (openListFlag) {
// code to perform operation
}
}

我的方法是在单击通知中的按钮时传递一个 Extra bool 值,该值设置为 true

但即使只点击通知(而不是按钮),onNewIntent() 中的 Action 仍然会被调用。也就是说,openListFlag 的值始终设置为 true

我应该如何确保该操作仅在单击按钮时执行?

最佳答案

只需使用 intent action 而不是 extras,如下所示: Determine addAction click for Android notifications

关于android - 单击通知按钮 - 方法调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24538038/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com