Android :: Remote Process - Service Fetches Data From Network
Sep 15, 2009
I needed to call a remote service. The service basically fetches data from the network. I am bind the connection once,and then I unbind the connection when the user is no more in that page. Everything works fine.Except that when I call the sa,e remote method for 17th time,it just does not call the service at all.It neither throws the DeadObjecti Exception. I have run out of ideas.Is there anything that I may be missing.
View 7 Replies
Feb 21, 2009
At a certain point in my program, when I'm completely done with my service, my activity executes unbindService() and stopService() -- yet the process persists. I can tell that it persists because I run "ps" in "adb -e shell":
CODE:.............
"adb logcat", I can show you the sequence of events:
ACTIVITY: context.unbindService(serviceConnection);
SERVICE: onUnbind();
ACTIVITY: stopService(serviceIntent); & returns true!
SERVICE: onDestroy();
First, my activity calls unbindService(serviceConnection). According to the documentation, unbindService() will "Disconnect from an application service. You will no longer receive calls as the service is restarted, and the service is now allowed to stop at any time." So that is fine, and it is happening.
Appropriately, we see the onUnbind() call happen on the service side. According to the documentation, onUnbind() is called when "all clients have disconnected from a particular interface published by the service." So this confirms the correct service connection is being passed, and that the service is responding accordingly.
Next, my activity calls stopService(serviceIntent), and returns true. According to the documentation, stopService() does the following: "If there is a service matching the given Intent that is already running, then it is stopped and true is returned; else false is returned." Again, this is happening and returning true.
In response, the service's onDestroy() method is called. According to the documentation, onDestroy() is "Called by the system to notify a Service that it is no longer used and is being removed. The service should clean up any resources it holds (threads, registered receivers, etc) at this point. Upon return, there will be no more calls in to this Service object and it is effectively dead."
At this point I expect the process to disappear from the process table. Yet it remains indefinitely. But why?
Also, the process is so persistent that I can bind to it again, and I see that it is the same exact process responding because the PID (process ID) is the same!
View 4 Replies
View Related
Mar 24, 2010
I have a Service/AlarmManager set to go off ever hour; as seen at: http://github.com/commonsguy/cw-advandroid/tree/master/SystemServices...
The Alarm triggers a Socket connection to communicate with a Web Server. I'm logging the interaction to a file so I can see it later. When I leave the phone on my desk for a day, it seems that more often than not I get a "Network unreachable" error when trying to do any networking.
I believe it is related to how deeply the phone goes into sleep. Is there a special kind of lock I have to hold, or some command required to prep the wireless radio so that it can be ready to access the Internet?
View 21 Replies
View Related
Feb 17, 2010
The object passing between an Android service and the remote binder is happening through serialization of the object. If the service needs to return a very large collection, it seems very inefficient to use this. What is the recommended way to deal with this?
View 1 Replies
View Related
Mar 1, 2010
I am new to android programming and have a strong keen interest to learn it. I want to write a program that fetches the data from a website, segregates it and displays it on the screen of the phone. The data could be grocery list from a supermarket or sale items in a mall. Could you please suggest as to how I can go ahead and start this.
View 7 Replies
View Related
Jun 13, 2010
I'm now trying to implement my own content provider. My original data was stored on network or local/remote file systems, so I want to provide data via input stream. I know that client may call ContentResolver.getnputStream to retrieve the input stream to access data. But I don't know how to implement content provider in this situation, I searched the Internet but all the tutorials for content provider are talks about how to expose data that stored on local database. how to expose data that stored on file systems using a content provider? what happened when client call ContentResolver.getnputStream? I want to know how to return an input stream to my client.
View 4 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
May 28, 2010
I'm developing a GPS tracking software on android. I need IPC to control the service from different activities. So I decide to develop a remote service with AIDL.This wasn't a big problem but now it's always running into the methods of the interface and not into those of my service class. Maybe someone could help me?If i now try to call a method from an activity for example start(trackId) nothing happens. The binding is OK. When debugging it always runs into the startTracking() in the generated ITrackingServiceRemote.java file and not into my TrackingService class. Where is the problem? I can't find anything wrong.
View 1 Replies
View Related
Sep 24, 2009
I've implemented remote service using aidl & it is working fine if I'm using its service from same package. But If I tried to use the service from other application it gives me error
As below:
CODE:...................
View 3 Replies
View Related
Sep 22, 2009
I am studying RemoteService example in Android's APISample. In the manifest file, it declares the service like this: My question is how can I specify the service to be 'auto-start', i.e. it gets start whenever the phone start?
<service android:name=".app.RemoteService" android:process=":remote" >
<intent-filter>
<!-- These are the interfaces supported by the service, which
you can bind to. -->
<action
android:name="com.example.android.apis.app.IRemoteService" />
View 1 Replies
View Related
Aug 11, 2010
I have implemented a RemoteService which will increment a countere ( just for testing purposes ). Therefore I have a Task class which implements Runnable and the method run() where a infinite while loop increments the variable.
From the client side, I start the RemoteService with startService and then i bind to the service. When I close the activity, the service is still running. Now i want to rebind to the service.
How do I know if the service has already been started (therefore i would only need to bind to the service again) or not (then I would need to call startService() first and then bind to the service)?
What would happen, if I call startService() if the service is already running? Does the OS start a second service, or will it affect the service which is already running?
View 5 Replies
View Related
Jul 28, 2010
I have a service MyService.java in Application "ServiceDemo". The manifest of this application looks like this
CODE:.............
I have another application "CallerService" manifest looks like this
CODE:................
I have an activity from where I m trying to start the service on the click of the button
CODE:................
This fails to work. Says "unable to start service intent"
View 1 Replies
View Related
Apr 26, 2010
If an application begins a Service via bindService or startService, will this Service object ever run from a process different from that of the application? I ask because many Android example projects begin a service and communicate to them using IPC which seems wholly unnecessary considering that, according to the Android Service documentation, "... services, like other application objects, run in the main thread of their hosting process." IPC, AIDL, and the IBinder interface only seem useful if connecting to a Service started by an application other than your own. Is this a correct or fair understanding?
View 1 Replies
View Related
Apr 1, 2009
I need to load a .so library in my Service onCreate method, but the process just down after System.load. On the other hand, the same code can work in Activity. Are there some differences between activity and service in the way of load .so file.
My code class AisoundService extends Service
CODE:......................
View 3 Replies
View Related
Oct 8, 2010
My initial activity is basically a splash screen while preforming initialization and login in to network server. To save memory I want to finish() the splash activity once it starts the main menu activity. I still want the remote service to operate. Testing shows it does. But am I going to get into trouble doing this? I know I can restart the remote from the main menu activity but I am trying to save overhead by not starting it twice. The remote service is required by the splash activity.
View 1 Replies
View Related
Apr 30, 2010
I defined a remote service over a AIDL file. Now i want to access this service in a different application. But how can I do that? The AIDL file is not accessible in my second application, and if i just copy the AIDL file, then the service can't be found.
View 1 Replies
View Related
Jan 20, 2010
I'm hoping to do some audio processing in a remote service (service I've spawned onto its own thread); this will basically occur in a while (1) loop so constant processing. Occasionally I want to provide some information back to the activity that is bound to the service; I'm doing this by sending a broadcast from the service, that is received by a broadcast receiver on the activity, which then uses the activity's service connection to call into the service and get the information needed; at this point the broadcast receiver makes an alert dialog presenting the information to the user.If I stay in my while(1) loop after raising the broadcast, the action in the broadcast receiver never seems to occur.This is confusing to me since the activity and service are in separate threads.If I end the loop after raising the broadcast, the desired behavior on the activity side occurs, but of course this isn't acceptable since I need to be doing constant processing.
View 11 Replies
View Related
May 18, 2010
Since yesterday I got an idea running around my mind but I donīt know first if it would work, and then how "hack" it would be.
People who develop audio processing/recording/playback apps for Android know how hard it is to maintain GC away from our critical paths: playing and recording audio. Processing must be as optimized as possible not only to save battery and use less CPU, but also not to create new objects/allocate new memory spaces ... this all to avoid GC at all cost. Well, we have knowledge and this we can handle (mostly). But what about all the other processing that happens from and for user interaction? Media players display images, some apps display ads, ... and sometimes we have to avoid releasing features to the users just to maintain our critical paths free from GC.
Yesterday I stumbled upon an article about remote services and this led me to a doubt: if they can run as a different process, would a GC call from my activity impact the performance of my remote service? I really donīt know how GC works on the Dalvik so this may be a dumb question. If so, I apologize.
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+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
View 4 Replies
View Related
May 6, 2010
Can any one provide sample Remote service example. I want it like two different application. One application should contain service. Another application should use that service.
Thanks in adv....
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
Apr 21, 2010
"Service" by it's defenision meaning the same as "Remote service" in Android? and if not, what is the diffrence between them?
View 1 Replies
View Related
Aug 15, 2009
Is there a way to step through code in a remote service? What I do now is install the service, then run the app that starts it and use trace output. Is there a way to perhaps automatically start the service upon installation, and have it stop at break points? Or is there another method?
View 2 Replies
View Related
Apr 29, 2010
Iam trying to run an activity from diffrent package from my remote service:
This is how i implement the service.java
CODE:....
Ive also added a line in the manifest of the service:
The service works fine, but i cant run the activity -> PushActivity which is in diffrent package of diffrent application, this is the error:
Activity not found Exception: No Activity found to handle Intent {act=com.pushservice.PushServiceActivity flq=0x10
View 2 Replies
View Related
Mar 25, 2009
I have two services, both of them lies in separate apk, which run in same process. The two service share same jar file by <uses-library> method. The jar file implement a class, say "test", is a singleton. But I found that two instance of test is created under this case, could anybody give me some tips? I want to ensure it's singleton. Code...
View 8 Replies
View Related
Feb 5, 2009
I intended to show a dialog in a service process, then I tried to use the AlertDialog but got the below error message: WindowManager$BadTokenException: Unable to add window -- token null is not for an application The reason seems to be that the dialog is not used in a application context (activity should be fine?) Was there any way that can solve this problem?
View 2 Replies
View Related
Aug 20, 2010
Does anyone know how to, or if it's even possible to check the (foreground process/top of the activity stack) from a service?
View 20 Replies
View Related
Apr 28, 2010
I like to do some long running initializing work in a remote service, and during that, a progress dialog shall be shown. So basicly, I invoke ProgressDialog.show, run a oneway method of the service with a callback to be invoked when it's finished, and in the callback dismiss the dialog. I expected the service method to work in it's own process while the activity shows the progress dialog. But what happens instead (according to debugger and logs) is: ProgressDialog.show and service method invocation return immediately, then the service method is processed, and finally the progress dialog is shown for a few milliseconds right before it's dismissed. Even a "not responding" error might occur during that. If I invoke the service method in an own thread, which (as it's to be expected) is finished long before the service method is done, everything works fine. But I don't get why this is necessary. Why does a remote service method block the Activity thread? This even happens if the service method only does a Handler.post and returns immediately.
Simplyfied code overview: Activity: public void onStart() { startService(...); bindService(...);}
View 2 Replies
View Related
Sep 5, 2010
I have coded this service, that computes stuff and i want other applications to be able to bind this service, i.e. i want to enable other programmers to communicate with this service. problem is, this has to work without these other programmers to get access to the source code. just the (installed) apk with the remote service is given (and of course a detailed description of the service' interface)...problem is, eclipse keeps braggin' about that the packages of the service are not available in source code...
View 1 Replies
View Related
May 16, 2009
I didn't find a sufficient answer to my problem in any posts, if there already is one, please excuse and point me to it, thanks. I made 2 projects. project 1 hast an activity that binds to a service from project 2 on a button click (all just for testing).
How can I make project 1 know (import) my TestInterface (from TestInterface.aidl out of project 2) for usage in: "TestInterface mService = (TestInterface) TestInterface.Stub.asInterface(service);"
without adding project 2 to the build path, because if I'd have an installed service without the project code, I couldn't do it this way, too...?? I read in one thread that TestInterface.aidl should just be added to project 1, too, but if I do this, in DDMS enforceInterface() complains and seems to just see/use the interface from project 1 and it doesn't work.
2. issue:...............
View 9 Replies
View Related