views:

24

answers:

2

In my app, I'm creating a notification with the FLAG_ONGOING_EVENT flag set as such..

Notification notification = new Notification(iconId, text, System.currentTimeMillis());  
notification.flags |= Notification.FLAG_ONGOING_EVENT;

I'm cancelling the notification in onDestroy, but if my app crashes before calling onDestroy, is there any way to have my notification go away?

Rob W.

A: 

No. When your app crashes, there's nothing that can be done after the crash! Either catch the exception and deal with it then (although catch Exception e {...} is an extremely bad idea), or make your app not crash (this would be a good tactic in my opinion).

fredley
+1  A: 

This is more or less the same question as http://stackoverflow.com/questions/3313960/callback-before-force-close-of-android-activity, so I'll repeat my answer here:

I would recommend not having your app crash in the first place. If there's something that COULD crash, just put a try/catch around it and handle it properly.

Or, as some sort of global try/catch, you can use Thread.setUncaughtExceptionHandler(). Finally, you could even consider Runtime.addShutdownHook, but that's most likely a bad idea.

Fix your crashes. That's the only sane solution.

EboMike
Yah that particular crash has been fixed, I was just hoping there was some way to handle it better in the field for any future bugs that may crop up and cause my app to crash.
brockoli