Android :: Should I Use Local Service Binding?
Oct 5, 2009
I am very new beginner, and I am designing a small application as below.
- After a user starts the application, he/she can click the start button to start a background task. (e.g. retrieving the news headlines periodically, then do something...)
- Even after the user quits the application, the background task still running.
- To stop the background task, the user needs to run the application again, and clicks the stop button to stop the background task.
In the above scenario, what API should I use ? (Local Service Binding ? Remote Service Binding ? Handler ?)
View 2 Replies
Sep 15, 2010
My application has the following components: 2 Activities A Service and a BroadcastReceiver
Whenever the user updates the system time, my broadcast receiver receives the Intent.ACTION_TIME_CHANGED. Now when this happens I want to reschedule a Handler in my Service. How do I bind to a Service within my BroadcastReceiver?
View 1 Replies
View Related
Nov 20, 2010
I have a local Service to which multiple activites needs to bind. In the first launched Activity, bindService returns true and onServiceConnected is called. But in any additionally launched activites bindService returns false, and I can't get a reference to my Service.
How can multiple activities simultaneously be connected to a local Service?
View 3 Replies
View Related
Dec 16, 2009
I am working on an android application, where the activity binds to a local service to perform certain tasks.Now I am binding the service in the OnCreate method of the Activity, after which the activity has to use the service object to invoke the functionality defined in the servicein the OnStart method. The problem here is that once a call "bindservice" has been made, we might not get the serviceobject immediately, so my service object would be null till that time. So i cannot invoke the service functions.So is there a way to determine in the activity that the service has been bound and the service object is valid and could be used now. For reference i'm attaching a code snippet for the same.
View 2 Replies
View Related
Mar 13, 2010
Can an Activity be bound to two different Services at the same time or do I have to unbind one Service before binding to the other one?
View 2 Replies
View Related
Apr 30, 2010
Can one service be bound to n activities?
View 1 Replies
View Related
Jun 24, 2010
After I Bind to a service inside the method I start a CountDownTimer. The problem is that the timer does not start counting down. I have gone through with the debugger and sure enough it is executing the method that starts the Timer.If I use a button to start the timer it works! What could I be doing wrong?
View 1 Replies
View Related
Aug 3, 2010
I have a service component (common task for all my apps), which can be invoked by any of the apps. I am trying to access the service object from the all activities, I noticed that the one which created the service [startService(intent)] has the right informaion. But rest does not get the informaion needed.
My Code is as below:
CODE:................
If I invoke startService(intent). it creates a new service and runs in parallel to the other service.
If I don't invoke startService(intent), serviceObj.getData() retuns null value.
View 1 Replies
View Related
Nov 13, 2010
I am writing application that has service that provides real time data to subscribers via remote callback mechanism. Now I wanted to add a widget that visualizes essential part of this data but got error: "IntentReceiver components are not allowed to bind to services". So what's the right way to get data from that service?
View 1 Replies
View Related
Jul 1, 2010
Is there any fundamental difference in binding a service to an android.app.Activity vs binding it to an android.app.Application. I want to bind the service to an Application because I want to keep some global state/data in the Application instead of duplicating it in all my activities.
View 1 Replies
View Related
Nov 23, 2009
I am binding a remote service from an activity and unbind the same on the onPause of the Activity,when the activity again restarts i bind the service .It does bind with the remote service and i am also successful in getting the remote-service method getting executed after the restart.But when returning a message from the callback-RemoteCallbackList.the mCallbacks.beginBroadcast returns me 0 clients.Am i missing some thing here ?why am i am getting zero clients when I call mCallbacks.beginBroadcast.?
CODE:....................
View 2 Replies
View Related
Jul 30, 2010
I made a code for my understanding of Android Service class.
It has just a single Activity and Service in apk. Service is the same as the sample code of API reference as below: http://developer.android.com/intl/ja/reference/android/app/Service.ht...
A client side is an Activity based on the above sample, and just added the following code:
CODE:.......
My sample application has a check box which starts(binds)/unbind to the local service on a single process. The local service instance is created by every bind request (and destroyed by every unbind).
If I press the button repeatedly, then LocalService$LocalBinder is leaked!
The problem is not resolved even If I set an obtained binder to null (like below).
CODE:...............
View 6 Replies
View Related
Feb 20, 2010
I want to know what es the best place in an Activity to bind to a service? I saw examples doing it in onResume() and also in onCreate(). I was asking myself if it is not a problem putting it into onCreate(), cause in onPause() i will do a unbind to the service, so i dont get a serviceConnectionLeak, if i leave the activity. Now if i press the Home-Button and then switching to the HomeScreen, the Activity will unbind from the service, when i go back to the Activity from the Taskmanager, then onCreate() will not be called and if the Code is trying to access a function from the service i will get a null-pointer exception. If i bind and unbind only in onResume() and onPause() i dont have this problem.
View 3 Replies
View Related
Sep 14, 2009
As a point of example for my problem, I wrote a single Activity which binds to a service and then accesses a property to display. The problem is that my TestServiceConnection.onServiceConnected method is never called, and I don't know why.
Here is the code:
CODE:......................
View 3 Replies
View Related
Feb 12, 2010
Is is possible to send an object to an Android Service through an Intent without actually binding to the service? Or maybe another way for the Service to access Objects...
View 2 Replies
View Related
Nov 9, 2010
I'm confused about whether I need to run my service in a separate process. What are the advantages / disadvantages of each?For reference I'm trying to create an App that uses a service to play [streaming] audio in the background. So which one is better for my use case?
View 1 Replies
View Related
Sep 30, 2009
i have an app that binds to a local service.I want to add a desktop widget that binds to the same service. does my service have to be a remote service or can it still be local?if it can still be local, how can I get at the local binder?
View 2 Replies
View Related
Jul 16, 2010
I don't see the point of using a local service in Android. If I want to do backgound stuff, I can create a thread and use Handlers.
Creating a local service is a big headache, you have to mess with Binders, worry about the start/stop/bind/unbind lifecycle, etc.
What does a local service get me that a thread doesn't ?
View 2 Replies
View Related
Oct 6, 2010
I have an application which requires networking service. I took on LWUIT4IO and adjusted it to my needs so now i have a network queue that can run one or more network threads.Now, my application is based on single root activity that spawns other child activities as needed (it's a reservation center for vacations, car rental etc.. each in it's own activity). The network is common to all and should be used by all activities. the network thread requires, basically, a callback to notify it's finished and return the result (input stream or byte array) .At first i thought that i should use a service instead of a singleton that will be started in the root activity(the service will also be started in the root activity), however working with a local service is problematic for me: 1. no callbacks which makes me use intents to encapsulate the request esponse in intents time consuming, also since there is not single point of listening (i have to use BroadcastReceivers)i have to add a calling class name or some other identifier so the sender of the request will know it's for him, i think this is also a waste of time and resources since i need only one listener.
i think i CAN use callbacks if i use Binder object to return local instance of my Service and then use the queuing method directly, this is problematic for me as acquiring Binder object is asynchronous and i need it 'on the spot' 3. I thought of using a static instance of the service and null it in onDestroy of the service, but if i use that way, i'm not so sure i need a service... 4. i saw a small answer in stackoverflow about inheriting application and putting whatever member you need there so when you use getApplication you get this instance and then you can retrieve whatever you want, is this even advisable ?
View 5 Replies
View Related
Jun 11, 2010
I'm starting a service in my application using startService.
I do not want to use bindService as I want to handle the service life time myself.
How can I get an instance to the service started if I do not use bindService? I want to be able to get a handler I've created in the service class to post messages from the activity.
View 1 Replies
View Related
Feb 22, 2009
Starting from the example ServiceStartArguments.java of the "API demos", the service "ServiceStartArguments" is creating a new Handler object (ServiceHandler) which does all the work in a separate thread. Once that work is completed, how can I tell other components that my work is finished, and also provide data (that resulted from the work) to them?
I tried something like startActivity(intent_transferred_via_msg) which does not work, I'll get an exception because I call it "outside of the service", which is technically true.
View 3 Replies
View Related
Sep 9, 2009
I have the following base activity. code...
View 3 Replies
View Related
May 31, 2010
I don't need a strict code related answer I just need somebody to tell me what I am missing.My application has to retrieve from a web service (xmlrpc) the positions of some users I know and update their position on a MapView.So I decided to use a Service and an Activity extending MapActivity to show results.
I thought about two solutions:
I ) start the service and make it ask every minute for these positions and send them to the activity as a bundle via intent. (This didn't work out well, since once shown I couldn't find a method to let the activity continue refresh itself until she stop receiving intents+data from the service)
II ) Incorporate a thread within the activity which starts the service via context.startService(...) every minute. And the MapUI refresh itself once the service send back an intent and stop itself. (Maybe I will fall in the same problem category as before I haven't tryied yet).
I am also giving directions (via maps.google ws) in this way I'd like to refresh only users positions on the map and save the route.What Am I missing do you have any suggestions? related to activities/services internal mechanics, don't know launch modes, use broadcast receivers or intent filters?
View 1 Replies
View Related
May 16, 2010
An application I'm building uses a local Service for downloading files from the web to the phone's SD card. In this app users can browse lists of books, and read them while online. A user can also download a pdf copy of a book for offline viewing. To handle downloads I'm using a locally bound Service. I do not want this Service to run all the time, only when downloading files. So that the Service can shut itself down when its tasks are complete, I am not binding to the service, rather I'm sending an "enqueue for download" command through the Intent passed to Context.startService.
Books available for download are shown in a list. A user can choose to download a book by clicking on its row in the list. On download, I need to show download progress using a ProgressBar on the actual book list row. I need to also show, on the rows, if a book is enqueued for download, or if its download has completed or failed. The books can be shown in different activities throughout the application--in search, or in the user's list of favorite books, for example. When the books are shown in different places, these are not the same objects, but they are uniquely identified by their bookId...............
View 1 Replies
View Related
Jun 24, 2010
HTo be able to write "nice" code between my application/activies and a local service I need to understand some basic Android concepts:What I'm wondering is if my application (as in my activities) and my local service is sharing one thread. I.e. when the activities and the local service executes tasks queued are these tasks interleaved in ONE thread thus sharing the thread or does the service has a thread of its own?Also if the local service shares the thread with the activities and the local service makes a direct call (via a callback) to one of the activities (i.e. no post message) is the activity thread "halted" or is the execution of that specific function queued to be executed later anyway?
View 1 Replies
View Related
Sep 13, 2010
I'm trying to create a program with a service that runs every 10 seconds, puts the camera preview, taking a picture and then leaving the user to continue his work (closing down). Currently I have two problems:
1. After I'm taking the picture, the preview still there. There's no function like close() to return to the previous activity. How can I return to the previous activity?
2. I'm trying to run the above described activity from the run() function (from the timer class that execute the run() function every 10 seconds). When I do that, a runtime exception is raised. But when I start the above described activity from a button clicked (not from the timer) it works fine.
View 4 Replies
View Related
Sep 30, 2010
How do I check whether the local service inside my application is running?
View 1 Replies
View Related
Jun 1, 2010
I'm trying to think of a way on how to sync in between a local service and the main activity.
The local service has,
A thread with a socket connection that could receive data at any time.
A list/array with data.
At any time the socket could receive data and add it to the list.
The activity needs to display this data. So when the activity starts up it needs to attach or start the local service and fetch the list. It also needs to be notified if the list is updated.
I think I would need to sync my list somehow so the local service does not add a new entry to it while the activity fetches the list when connecting to the service.
View 2 Replies
View Related
May 6, 2010
Essentially my problem is this, I open my Activity. It binds to a local service that "appears" to be connected. I get a force close when I press the back button:
"IllegalArgumentException: Service not registered" when unbind is called in my onPause method...
public void onPause() { super.onPause(); if (isFinishing()) {
if (mConnection != null){ Log.i(TAG,"onPause, mConnection" + mConnection.toString());
mDbS.unbindService(mConnection); }else { Log.i(TAG,"mConnection is null");
} The service is bound in onCreate // bind to our sdCard database using our Service Connection
mServiceIntent = new Intent(this,DatabaseService.class);
if(bindService(mServiceIntent, mConnection, Context.BIND_AUTO_CREATE)){
Log.e(TAG, "service bound"); }else{ Log.e(TAG, "service not bound");
} bindService is returning true.
My Service connection is as follows. onServiceConnected is called and goes to completion. onService Disconnected is never called (presumably because my service is in same process)
private ServiceConnection mConnection = new ServiceConnection() {
public final String TAG = "LoadView.ServiceConnection"; //$NON- NLS-1$
public void onServiceConnected(ComponentName className, IBinder service) {
mDbS = ((LocalBinder<DatabaseService>) service).getService(); .....
stuff not relevant.... Log.i(TAG, "finished onServiceConnected");
//$NON-NLS-1$ } public void onServiceDisconnected(ComponentName className) {
Log.e(TAG, "onServiceDisconnectedCalled"); //$NON-NLS-1$ } };
The only thing I do a little different is that I don't use an inner class in my service for the Binder object - I use a separate class. This is mostly because I have several databases and wanted code I could reuse and set up simply rather than worry about all the ins and outs and memory leak issues.
import android.os.Binder; import android.util.Log;
public class LocalBinder<S> extends Binder { private String TAG = "LocalBinder";
private S mService; @SuppressWarnings("unused") private LocalBinder() {
} public LocalBinder(S service){ mService = service;
} public S getService() { return mService;
} public void finalize(){ mService = null;
try { //TODO reinstate this after Issue 8046 is resolved
//super.finalize(); } catch (Throwable e) { Log.e(TAG,"Unable to finalize Binder");
} } }
View 2 Replies
View Related
Jul 2, 2013
I have an android app that must connect to my local webservice with soap but I cant seem to get it working. This is the code I have.
[HIGH]public void Hello()
{
String SOAP_ACTION = "http://tempuri.org/Hello";
String METHOD_NAME = "Hello";
String NAMESPACE = "http://tempuri.org/";
String URL = "http://10.0.2.2/MainService/MainService.asmx";
[Code]...
All this does is catch an exception with the message "Null". Note that I am not an android developer, this is my very first project.
I did the same thing with Netbeans and regular Java and it works perfectly.
View 2 Replies
View Related