2012-06-05 4 views
0

모든 sendXXXXX 부울이 참이지만 코드는 첫 번째 notify()에서 실행을 중지합니다. 수동으로 첫 번째를 false로 설정하면 코드는 두 번째 if 문에서 실행을 중지합니다.코드가 mNotificationManager.notify (,)에서 실행을 멈 춥니 다.

.notify()가 호출되면 return 문과 같이 동작합니다. 함수를 종료하지만 오류/예외는 발생하지 않습니다.

if (sendAC) { 
    mNotificationManager.notify(XMPP_ID, notificationHouse); 
} 
if (sendRefridgerator) { 
    mNotificationManager.notify(XMPP_IDRefridgerator, notificationRefridgerator); 
} 
if (sendWater) { 
    mNotificationManager.notify(XMPP_IDWater, notificationWater); 
} 
+0

"실행이 중지됨"이란 무엇을 의미합니까? 블록하거나, 예외를 던지거나, 다른 것을 던지나요? –

+0

디버거가 바로 거기에서 멈 춥니 다 (다음 if 문으로 넘어 가지 않습니다). Logcat에서 오류가 발생하지 않습니다. – mrngneom

+0

좋아, 몇 시간 후에 알아 냈어. 그것은 조용한 예외였습니다 (Logcat에 나타나지 않았습니다). 그래서 나는 그 오류가 무엇인지 알아 내기 위해 그 주위에 try catch를 추가했다. SecurityException을 얻었으므로 매니페스트에 진동 권한이 없었으므로 catch 없이는 표시되지 않았습니다. – mrngneom

답변

1

좋아, 시간 나중에 알아 낸 경우. 그것은 조용한 예외였습니다 (Logcat에 나타나지 않았습니다). 나는 디버거에서 단계별로 스레드를 살펴 보았고 보안 예외가 있음을 보여 주었다. 그래서 나는 그 오류가 무엇인지 알아 내기 위해 그 주위에 try catch를 추가했다. SecurityException을 얻었으므로 매니페스트에 진동 권한이 없었으므로 catch 없이는 표시되지 않았습니다.

0

프로젝트를 치료 한 다음 다시 설치하십시오. 디버거가 다음 if 문으로 이동하지 않는 이유는 다음 코드가 장치에로드되지 않았기 때문입니다.

어느 쪽이든, 또는 당신이 엉망이 당신의 문 '괄호 어딘가에