Although all the sendXXXXX booleans are true the code stops executing at the first notify(). If I manually set the first one to false, then the code stops executing inside the second if statement.

When .notify() is called acts like a return statement. It exits the function but doesn't throw any errors/exceptions.

if (sendAC) {
    mNotificationManager.notify(XMPP_ID, notificationHouse);
}
if (sendRefridgerator) {
    mNotificationManager.notify(XMPP_IDRefridgerator, notificationRefridgerator);
}
if (sendWater) {
    mNotificationManager.notify(XMPP_IDWater, notificationWater);
}
有帮助吗?

解决方案

Okay, hours later figured it out. It was a silent exception (it didn't show up in Logcat). I went through the thread step by step in the debugger and it showed a security exception. So I added a try catch around it to figure out what the error was. I just didn't have vibrate permissions in the manifest so I was getting a SecurityException, but it wasn't showing without the catch.

其他提示

Clean your project, then reinstall it. I'm guessing the reason the debugger doesn't go to the next if statement is because the following code isn't loaded onto the device.

Either that, or you messed up your if statements' braces somewhere

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top