Android :: Using New StartForeground Vs Old SetForground For Services
Nov 26, 2009
I have a couple of services in my application which need to be marked as foreground to prevent them from being killed unnecessarily. Currently I am building my application with the 2.0 SDK but I have android:minSdkVersion="3" android:targetSdkVersion="5" in my manifest file so that I can support 1.5, 1.6 or 2.0 devices. I am currently using only the 1.5 APIs so that my application will run correctly on the 1.5 devices.
2.0 introduced a nicer startForground method that combines setting the foreground flag and starting a notification which can be used to control the service. The 2.0 documentation says that startForground replaces setForeground, and that due to the fact that many applications were mistakenly using setForeground without a notification that could be used to control and close down the service, that the older setForeground method had been changed so it no longer does anything on 2.0. I tried using the newer 2.0 interface but it caused an exception for phones running 1.5 or 1.6. So I am still using the older setForeground interface and calling notify separately. But it appears that since I am building with the 2.0 SDK the older interface isn't really preventing my services from being killed.
View 4 Replies
May 24, 2010
It seems that on the Incredible the startForeground() call is non- functional, causing my process to be put into the background scheduler class even though it has an active ongoing notification. I'm calling it the same as on other 2.x devices (through reflection as suggested by Diane for backward-compatibility), and this works fine on the Droid, with the same OS level (2.1-update1). I can see in the debugger that it gets all the way to ActivityManagerNative.setServiceForeground() with the notification param being non-null, so it's got to be in the ActivityManager or below.
The really telling thing is that the stock music player acts the same way. When I'm playing a song and go to the home screen the com.htc.music process goes into the bg class, even though its notification is still active. This is a real problem for us, as it denies us the CPU we need to play back music in some cases without stuttering. Any ideas on whether this is getting fixed, and how I might work around it?
View 7 Replies
View Related
Oct 9, 2010
Hi, I have a "Remote Service", which I am starting at Bootup of the emulator. I want my service to keep running as a foreground service. For this, I am calling startForeground() from my service's onStartCommand(). I don't want any notifcation from the service. But startForeground() needs a notification object as its second parameter. How can I set my service as a foreground service without using any notification.
View 2 Replies
View Related
Nov 15, 2009
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?
View 5 Replies
View Related
Apr 8, 2010
I updated my app to use the "new" startForeground() method of Service. Now beta testers are complaining about the foreground app going slow. Is that a coincidence or does startForeground() mess with the thread's prio or does anything else but what is written below? Just as an additional information the background activity does some syncing, reports the progress to the notification using remote views and as it is not latency dependent I use (and did that before already) this: Process.setThreadPriority(Process.THREAD_PRIORITY_LOWEST);
Should I use another Priority? And if it makes any difference, how does that play with Android 1.5 devices?
View 13 Replies
View Related
Sep 10, 2010
I want to implement startForeground method in Service class for prevent service self kill. Can anybody sent me code for implementing this method?
View 1 Replies
View Related
Nov 20, 2009
I am running a background Android Service as VoIP Framework which provides different VoIP services to different Android applications, (VoIP call, Video Call, etc). The service establishes a network connection with the Server(Service Provider) and does some initial handshake before it can start providing service to the Android applications, that's why though of starting the service on BOOT_COMPLETED event.
The problem is when the service gets started on BOOT_COMPLETED event, before even it finishes the initial network connection with server and handshaking, it gets killed by the system. I have tried using setForeground which improves the behavior a bit but still gets killed mid-way. I am working with old version 1.5 r3 of SDK and hence, cannot use "startForeground". Is there a way out or another alternative available with SDK 1.5 r3?
View 12 Replies
View Related
Aug 31, 2010
What are C based services and Java based services in Android? What is similarity and dissimilarity between them ? Are C based services available in Android?
View 1 Replies
View Related
Feb 22, 2010
I'm trying to understand the idea behind the Services. If it runs in the program's thread, why not create just a separate thread (or AsyncTask) to do the job? Can a service keep running in the background? For example, i want to create a task that will continuously be polling data from a server, even if the main application is not running. Can this be achieved with a Service?
View 8 Replies
View Related
Mar 25, 2009
I am trying to send AT commands via Ril from LocationManager as there is only one AT port I can use. But it seems like that there is no ways to call the function refer to Ril. Can I just new a commandsinterface and to call ril's functions via it?
View 2 Replies
View Related
May 19, 2009
In my ideal little dream world, I'd like to have a custom service running that handles network comms. Activities (e.g. UIs) then add listeners to it and it provides callbacks when anything interesting happens.
As it stands, I can't see how to do this in an appropriate way. OK, you can call bindService() and have a ServiceConnection implementation that monitors the service state. From there you can easily talk *to* the service whenever you desire, using serialisation over transactions, but I don't think that helps with communication initiated by the service.
The only way I know of doing what I want is by maintaining static collections of listeners on the service class, which doesn't strike me as good engineering.
View 2 Replies
View Related
Sep 4, 2009
I know about LocationManagerService, AlarmManagerService, and BatteryService, from Android programming books, but is there a published list of all available services?
View 6 Replies
View Related
Jul 30, 2013
When an app gets permission to access your Google account's Android services exactly what does it have access to? Is it authenticated to access all your google stuff including gmail?
For example, I installed Changelog Droid from the play store and it wants to access my Android services. I understand it probably only needs the permission to access my play store account to analyze my installed apps, but what else is open to it if I give it the permission?
View 2 Replies
View Related
Oct 19, 2010
i want to use alert dialog in services, but i'm not getting the dialog,
public void myEventOccurred(Event evt) { // TODO Auto-generated method stub System.out.print(">>>>><<<<<< Event fired..."); new AlertDialog.Builder( this ) .setTitle( R.string.SaveConnectionChangeWarningTitle ) .setMessage( "Alert !" ) .setPositiveButton( android.R.string.ok, new DialogInterface.OnClickListener() { public void onClick( DialogInterface dialog, int whichButton) { dialog.dismiss(); } }) .show();
}
View 6 Replies
View Related
Jun 12, 2010
I know of the wonderful change from 2.1 to 2.2 that ActivityManager.restartPackage now doesn't do the dirty stuff anymore since it now calls killBackgroundProcesses. Nice on one side, but bad on the other side. Because of that Services are not killed anymore.See as well: http://groups.google.com/group/android-developers/browse_thread/threa.I am the developer of SleepTimer in the Android market and used restartPackage to stop Music Players to play music. I therefore killed the services. That worked well. But now with killBackgroundProcesses it doesn't work anymore. I added the new Permission to my manifest, but still the music remains running. Yes i know that google kind of wants that. But it breaks the possibility to stop the different music players from my app. Now my question: Is there another way to kill/stop other services (music player services) in API 8?
View 2 Replies
View Related
Aug 8, 2009
When i am calling the web services i got his errors. i added the internet permissions in android manifest.xml file 08-08 15:40:09.127: INFO/aSizzle(198): statusCode>>>500 08-08 15:40:09.158: INFO/aSizzle(198): statusLine>>>HTTP/1.1 500 Internal Server Error
View 2 Replies
View Related
Aug 14, 2010
I have a service running (Socket), this is how i start the service.
CODE:.......
But this doesn't seem to stop my service? Am i missing something? I need to destroy my service as soon as the home button is clicked.
View 1 Replies
View Related
Jul 6, 2010
I am new to Android development and have trouble enabling / disabling the wifi & audio services. I get the appropriate manager instance using the getSystemService method. But I don't get any error when enabling wifi using:
wifiMgr.setWifiEnabled(true);
But the wifi is simply not turned on! Similarly I use
mAudio.setRingerMode(AudioManager.RINGER_MODE_SILENT);
or
mAudio.setRingerMode(AudioManager.RINGER_MODE_NORMAL);.....................
View 1 Replies
View Related
Jan 20, 2009
I wrote some reverse geocoding, geolocation and proximity alert routines for my little Android app. I took my Android out with me when running errands to test my routines; they're kinda hard to test from my couch. Half of them didn't work. What's the best way to debug something like this? Sprinkle a bunch of printf statements (or whatever you call them in Java) throughout the app? Log everything to the sdcard? Write a toggleable view (is that even possible?) that acts as a console? Faber Fedor Cloud Computing New Jersey http://cloudcomputingnj.com
View 6 Replies
View Related
Aug 31, 2010
The only thing i have running on my phone right now is the touch input. is this something that runs constantly? ive tried going fully through the setup again and its still there. anyone know how to end it so its not running all the time?
View 1 Replies
View Related
May 13, 2010
What are the types of locating services offered by android? Does it offer GPS, cell-site/geolocation and WiFi? Can a developer choose which service to use or does the android choose?
View 2 Replies
View Related
Nov 18, 2009
I went through the Android introduction videos and in them an engineer from Google spoke of an open XMPP/gtalk service provided by Android, that developers could use to push messages out from a server to Android devices. I googled the forums and dug through the SDK samples, but could not find any code for these XMPP services. Also my search results only returned entries logged in the Jan 2008 time frame an earlier (I found this to be somewhat odd). Anyway, there was mention of a SMACK API that handles xmpp messaging, but I'm assuming that android has their own libraries for this.
View 3 Replies
View Related
Jul 2, 2010
I'm a little confused on how binding to services works. I understand using Context.startService() starts the service and that bindService doesn't call onStartCommand. But my understanding is that if I use startService, I have to explicitly stop the service. But I want the service to die if there are no more activities bound to it.My problem is that calling bindService never calls onServiceConnected(), so my Service binder object is null. Does the service have to be explicitly started in order to bind to it? If so, how does it know to terminate when nothing is binding to it anymore, and how do I know if it's started so I can know to use the bound object?
View 3 Replies
View Related
Jun 13, 2009
I need to use a wakelock to hold the screen active while its required. I was recommended to use a service which I have been trying but on the onDestroy I am getting "wl cannot be resolved".
Code below:
CODE:...............
View 9 Replies
View Related
Sep 27, 2010
What is the best way to deal with web services in Android? I have been looking at KSoap2 library and RESTful web services.
I got one working with KSoap2, but only when the web service is on a remote server, not on localhost. I have tried to redirect the ports for incoming and outgoing as it says on the android dev site, i have used the ip of the network i am on, my own ip and the localhost-ip (it says on the site that one cannot use localhost cause that is the emulators own loop-back network. None works.
With RESTful webservices, i have only tried a tutorial where a google app engine is used as server if i understood it right. Is it easy to connect a RESTful web service to a database. I need to have a database connection in my applikation, which one is normally used with REST?
View 2 Replies
View Related
Jul 14, 2010
Can any one give me some code to close all the services and activities of my app so they dont reopen? i know in android you dont have to close your app but i want the app to exit if the terms of service are not accepted. at the moment im using android.os.Process.killProcess(android.os.Process.myPid()); in one of my activities but the launch activity automatically starts aggin, any way to prevent this?
View 9 Replies
View Related
Aug 25, 2010
Can any one tell how to retrieve the icon of a running service?
View 2 Replies
View Related
Oct 6, 2009
I am presently working on services.I have read many articles related to services.But one thing I don't understand is if we want our application to run in background how can we implement services without using Activities.
View 2 Replies
View Related
May 27, 2009
If I create a no-gui application that extends and android.app.Service class, how do I get it to register itself so that the application starts when the phone boots up?
I need some way to have it always launch when the phone is turned on, how can I do this?
I know how to get a service to start & communicate with a real application, but I can't get it to start when the phone boots.
View 4 Replies
View Related
Aug 27, 2010
Android Remote services can be seted ip? I have two machine, want to set ip and access each other's remote service,the way can be done?
View 1 Replies
View Related