Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 通知挂起内容硬错误(或非常简单的错误)_Java_Android - Fatal编程技术网

Java 通知挂起内容硬错误(或非常简单的错误)

Java 通知挂起内容硬错误(或非常简单的错误),java,android,Java,Android,我现在正在尝试调试这个版本,但似乎找不到问题: 我有一个广播接收器,它成功地接收广播。 通知有两个操作(“按钮”): 每当我在broadcastReceiver中调试时,出于某种原因,extras的操作总是记录“do_that”,即使我单击通知的第一个或第二个按钮。有什么原因吗?我似乎真的不明白为什么 public class NotificationFunctions extends BroadcastReceiver { @Override public void onRe

我现在正在尝试调试这个版本,但似乎找不到问题:

我有一个广播接收器,它成功地接收广播。 通知有两个操作(“按钮”):

每当我在broadcastReceiver中调试时,出于某种原因,extras的操作总是记录“do_that”,即使我单击通知的第一个或第二个按钮。有什么原因吗?我似乎真的不明白为什么

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

    }}