Ha! Yeah I just took a closer look, no idea why I thought that would be looking at my service :/
On Nov 15, 6:39 pm, TreKing <treking...@gmail.com> wrote: > I don't know about that last section, I haven't used the ActivityManager, > but are you sure that the service your checking is actually YOUR service? I > would double check to make sure the service you're getting back is yours. > This might have worked pre-2.0 simply by luck. > > --------------------------------------------------------------------------- > ---------------------- > TreKing - Chicago transit tracking app for Android-powered > deviceshttp://sites.google.com/site/rezmobileapps/treking > > > > On Sun, Nov 15, 2009 at 4:06 PM, G <ghack...@gmail.com> wrote: > > THANK YOU! The word I was missing in my searches was Relection or > > Reflect. > > > I've added this method to my Service, but I'm still having a > > problem... > > > private void turnOnForeground(Notification notif) { > > try { > > Method m = > > Service.class.getMethod("startForeground", new Class[] > > {int.class, Notification.class}); > > m.invoke(this, NOTIFY_ID, notif); > > } catch (Exception e) { > > setForeground(true); > > mNotificationManager.notify(NOTIFY_ID, notif); > > } > > > //Debug message to show if turn on worked > > ActivityManager am = (ActivityManager) getBaseContext > > ().getSystemService(ACTIVITY_SERVICE); > > Toast.makeText(getBaseContext(), "Foreground: " + > > am.getRunningServices(1).get(0).foreground, Toast.LENGTH_SHORT).show > > (); > > } > > > The problem is the Toast at the end is still reporting false (on 2.0, > > works fine on <1.6), i.e. that the service isn't running in the > > foreground state. The code runs through and I can see in the LogCat > > that no exception is thrown or caught. Also, I tried just using > > regular ol' startForeground, then showing that same Toast, and tested > > on the 2.0 emulator, and it still reported false. Does that method of > > retrieving the foreground status just not work in 2.0 anymore (it > > works on 1.6)? How can I be sure my service is running in the > > foreground on the 2.0 emulator? > > > On Nov 15, 4:21 pm, TreKing <treking...@gmail.com> wrote: > > > Yes, this is possible and definitely testable in the emulator. I actually > > > just update my own app to account for this change in 2.0. > > > > I don't think you can get around the VerifyError but you can check if the > > > method you want to use exists. Build against 2.0 and use reflection to > > check > > > if the startForeground exists and use it if it does, otherwise default to > > > setForeground. > > > > There was a blog post about using reflection for things like this though > > I > > > don't have the link handy. > > > > Hope that helps. > > > --------------------------------------------------------------------------- > > ---------------------- > > > TreKing - Chicago transit tracking app for Android-powered deviceshttp:// > > sites.google.com/site/rezmobileapps/treking > > > > On Sun, Nov 15, 2009 at 2:27 PM, G <ghack...@gmail.com> wrote: > > > > Hi, I've got a question as I don't have an Android 2.0 device to test > > > > on and this particular aspect seems untestable in the emulator. > > > > > I've got a service that needs to be run as a foreground service. I > > > > have a notification that stops it etc, so I have no problem using > > > > startForeground instead of setForeground. However, I'd like to have 1 > > > > version of my app that works across all platforms... Is this possible? > > > > If my app is compiled with Android 1.5 and uses setForeground, then > > > > will that command actually work on an Android 2.0 device, or does it > > > > not matter which sdk was used to compile? I've tried compiling with > > > > 2.0, and surrounding the call to startForeground with a try/catch, but > > > > that throws a VerifyError when the service is started, when run on a > > > > 1.5/6 device since startForeground doesn't exist there. Can I catch > > > > and ignore the VerifyError somehow and make it work that way? > > > > > Any help would be appreciated, I really don't want to have to make a > > > > 2nd branch of my app. > > > > > Regards, > > > > Geoff > > > > > -- > > > > You received this message because you are subscribed to the Google > > > > Groups "Android Developers" group. > > > > To post to this group, send email to > > android-developers@googlegroups.com > > > > To unsubscribe from this group, send email to > > > > android-developers+unsubscr...@googlegroups.com<android-developers%2Bunsubs > > > > cr...@googlegroups.com><android-developers%2Bunsubs > > cr...@googlegroups.com> > > > > For more options, visit this group at > > > >http://groups.google.com/group/android-developers?hl=en > > > -- > > You received this message because you are subscribed to the Google > > Groups "Android Developers" group. > > To post to this group, send email to android-developers@googlegroups.com > > To unsubscribe from this group, send email to > > android-developers+unsubscr...@googlegroups.com<android-developers%2Bunsubs > > cr...@googlegroups.com> > > For more options, visit this group at > >http://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en