Java 通知挂起内容硬错误(或非常简单的错误)
我现在正在尝试调试这个版本,但似乎找不到问题: 我有一个广播接收器,它成功地接收广播。 通知有两个操作(“按钮”): 每当我在broadcastReceiver中调试时,出于某种原因,extras的操作总是记录“do_that”,即使我单击通知的第一个或第二个按钮。有什么原因吗?我似乎真的不明白为什么Java 通知挂起内容硬错误(或非常简单的错误),java,android,Java,Android,我现在正在尝试调试这个版本,但似乎找不到问题: 我有一个广播接收器,它成功地接收广播。 通知有两个操作(“按钮”): 每当我在broadcastReceiver中调试时,出于某种原因,extras的操作总是记录“do_that”,即使我单击通知的第一个或第二个按钮。有什么原因吗?我似乎真的不明白为什么 public class NotificationFunctions extends BroadcastReceiver { @Override public void onRe
public class NotificationFunctions extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
boolean feedback;
String action = intent.getExtras().getString("action");
Log.wtf("...", action); //logs do_that
}}
有什么原因吗
因为firstpendingent==secondpendingent
如果已存在与您的请求匹配的pendingent
,getBroadcast()
将返回现有的pendingent
<代码>标志\u UPDATE \u CURRENT表示替换包装在PendingEvent
中的意图
中的额外内容
在两个getBroadcast()
调用之一中,将0
替换为其他数字,以获得不同的pendingent
对象
另外,我建议您将getBaseContext()
和getApplicationContext()
替换为this
。只有当你知道使用它们的确切原因时,才能使用getBaseContext()
和getApplicationContext()
。@RichardNorton:我只是“解释一下”。例如,getBaseContext()
基本上没有文档记录。而且,它是一种关于活动
的方法,它是一种上下文
。当您已经有一个上下文
可供使用时,为什么要使用一个未记录的方法返回一些您不知道的上下文
?除此之外,我还要推荐上下文的不同来源的角色。
public class NotificationFunctions extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
boolean feedback;
String action = intent.getExtras().getString("action");
Log.wtf("...", action); //logs do_that
}}