Android :: Managing Activities From Service
Jun 1, 2010
I have a service that listens to the serial port. According to data received from serial i switch between particular service states, and start particular activities on state transitions. I would like to accomplish it in following way: Let's assume there is one active Activity1 started from previous state, I call startActivity from service to start a new one Activity2, but I want to simulatenously destroy Activity1 when Activity2 gets on top of the stack. I tried to call finish() in Activity1.onStop but it seems not to work (Activity1.onDestroy() doesn't get called). I'd prefer to finish Activity1 after Activity2 gets on top in order to avoid blinking.
View 5 Replies
Aug 25, 2009
I have a service that polls for data. To indicate this to the user I have a persistent notification in the statusbar. In some cases when the device goes low on memory it destroys the service but OnDestroy is not called. Later when there is available memory OnCreate is called. Is this normal behavior? I had hoped that OnDestroy would be called to I could remove the notification in the statusbar. Now the user thinks that the service is still running, while it has been stopped by the OS.
In order to restart the polling how do I know that the OnCreate is really a restart event and not first time creation of the service? I thought about checking for the presence of the notification in the statusbar, but I couldn't find a API to check if a notification was showing or not. I have not tried "SetForeground" on the service, since the service isn't that important to the user, but maybe that would minimize the problem.
View 4 Replies
View Related
Sep 11, 2009
I have a service that's running in the background, is there any way (short of keeping a count of onBind() and onUnbind()) to know the number of activities that are bound to it?
I am trying to provide a "quit" function. all my activities derive from the same base class. I am keeping a global static around that says the "quit" button was pressed. then on each of the activities onResume() method, I look for the global static "quit" variable and if it's set to true, I call "finish()" so my activity shuts down, and then next activity on the task stack appears -- which goes through the same process of checking the global static "quit" variable until it gets to the root activity -- which effectively goes back to the main desktop screen.
However, I need a way to reset the global static "quit" variable, otherwise, when I launch the app again, it will check the global static quit variable and shutdown immediately - never coming back up. So, I want to know if there are any activities bound to my service, if not, I would set the global static "quit" variable back to false so that the app could be relaunched again.
View 2 Replies
View Related
May 19, 2010
I'm wondering which is the best way to communicate between a Service and an activity..
Broadcast intent
Callback
others?...
View 1 Replies
View Related
Jun 5, 2010
I have an Android Service that I would like to keep running even after the last Activity has been popped off the stack, or the User has chosen to do something else.
Essentially the Service is listening for changes on a remote server, and I would like to generate a Notification if and only if an Activity from the app isn't running(or visible). In other words, I don't want the Notifications to occur while the User is directly interacting with the app.
In the case where the User is directly interacting with the app, the Service will notify the Activity and update appropriate UI elements based on the changes. I plan to implement this through the Observer pattern.
How can the Service know if none of apps Activities are bound to it?
View 2 Replies
View Related
Aug 27, 2010
Android: i want to create service by extending a Service class which i start when application get started and all activities can share its state and when i want stop it from other activity and when i want start it again from any activity ?
View 1 Replies
View Related
Jan 26, 2010
I am programming a game. I have a service for the background-music. When I press the home-button and leave my activities, the service still runs in background. How can I stop the service, when there is no more visible activity in my program and restart it, when the user goes back to my game (some activity of it)?
View 8 Replies
View Related
Mar 13, 2010
Is there a way I can test if there are any other activities in my app still alive? I am looking to stop a service in an onDestroy method, but only want to do this if there are no other activities from my app still alive on the stack.
I have the call stop the service in the main activity's onDestroy() method. This works perfect EXCEPT that if a user launches my app, then launches a few activities in my app, then hits the home screen and RELAUNCHES my app, they will subvert my order and the main activity will now be above other activities of my app. From this state, if they hit the back button and 'back out' of my home screen they will trigger the onDestroy() method and kill the service even though there are other activities open on the stack. I want to avoid this by stopping the service ONLY if I am sure there are no other activities of mine open on the stack.
View 1 Replies
View Related
Apr 3, 2010
I currently have a service called ConnectionService. It instantiates a Connection object that gives me access to a controller of TCP.
I start the service from a splash screen activity, which sends and intent and starts my "main" activity once a connection has been established. In the "main" activity, I can access my Connection object and communicate with the controller. However, when I start a new activity from the "main" activity and bind to the service, I get a NullPointerException when I try to call methods in the ConnectionService.
View 11 Replies
View Related
Aug 29, 2010
I want to create an application to remote control my PC.
For example: Volume (get actual volume level, increase/decrease/mute volume), TVtime (start/quit tvtime, get actual channel, toggle fulscreen, channel up/down, toggle input source, toggle aspect ratio), Amarok (start/quit amarok, get current song, prev/next song, play/stop/ pause), etc.
The application for the PC is done (in python). The communication protocol used is very simple.
For example: "volume:get_level", "volume:up", "volume:mute", etc. Now I'm working on the android application.
What I have implemented till now is to create an activity, with: - an edittext to enter host:port - a button to connect/disconnect to/from server - the onCreate method creates a new thread for socket communication to send/receive messages to/from PC. - a textview to display information received from PC (eg. volume level) - a button to send command to PC I'm using handler to communicate between the tcpclient thread and the main activity.
It is working... But I want to use more than 1 activity. I want to use different activity for every program controlled. Searching for a solution to transfer the thread's handler to a new activity I have found that it is not possible, and I have to use a service.
So, my question is: how to send message from different activities to the same service, how to send message from service to the actual activity and how can I check in the service which is the actual activity? Because the service is running in the same thread as the activities I suppose that I still have to create a new thread for socket communication. How can I send the data received by the socket to the service?
View 5 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
Jun 29, 2010
I'm trying to refactor/redesign an Android app. Currently, I've one UI activity (Activity 1) that creates a DataThread. This thread is responsible for network I/O and interacts (provides data) with the UI activity via a handler.
Now, I want to add another activity (a new UI screen with Video) - Activity 2. Activity 1 is still the main activity. Activity 2 will be invoked when the user clicks a button on Activity 1. Activity 2's data also comes from the DataThread.
My idea is to put the logic of my DataThread inside an Android Service (DataService). My question is - can more than on activity bind to my DataService at the same time? Is there a way to tell the service to provide data to a specific activity only?
View 1 Replies
View Related
May 19, 2010
I'm new to Android development and am working on a small test project. I have a service, which communicates with an SQLite3 database, and two activities. A main activity which fetches database information via the service and displays it and a second activity which allows me to add data to the database via the service.
Currently, I have a singleton class which implements the ServiceConnection interface and I'm binding this to the service in the the main activity using the bindService function. Because it's a singleton, I can then use this service connection in both the main activity and second activity to work with the database and it all seems to work quite well.
However, I'm all the time aware that the service connection is bound to the main activity and I'm wondering if this is the wrong/bad way to do it? Would I be best off having two service connections, one in each activity, and binding each to the service?
View 2 Replies
View Related
Jun 10, 2010
I have a class A which extends TabActivity and creates Activities B, C and D as tabs in its onCreate() function. Also, class A initializes another service handler class S which is responsible for establishing a connection to a service and implementing callback handlers for the service. Any of the Activities B, C and D should be able to receive events from the service and update accordingly. If I receive any event in class S from the the service then I want to call a function in Activity B which would be responsible to update the UI elements in Activity B based on the event received. You can assume that the user is in Activity B when the event arrives.
Can I call an activity function like the following in the stub handler for the callback in my class S -
CODE:................
View 4 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
May 3, 2010
Is there a significant difference in time needed for sending data over a service or by using an intent?
Are there general advices when to use service and when to use intents?
View 4 Replies
View Related
Jan 15, 2010
I have multiple activities and one service.. In MainActivity I successfully connect to service (using a class what implements ServiceConnection + bindService() + startService()) but when i try to apply same method in other activity i see in LogCat a error... It Is possible to connect to service in an other way: something like to make static my CounterServiceConnection object in MainActivity and use it in the second one?
View 2 Replies
View Related
Oct 20, 2010
I have an application that get/send data from/to a remote DB on internet.
I need to get my application working in background mode, then i supose that i have to put all the send/get remote data in a service..... but.... How can this service change values of variables and UI textfields of my activities? i can't find any information about this, all the tutorials i am finding are of simple services that doesn't do something like that.
View 7 Replies
View Related
Sep 9, 2010
I want to know that how i can get these things in android.Recording of Calls Appointment/Calendar Logging Bookmark Logging Browser History Logging Contact Details Location Through SMS SIM Change Notification and after getting these things in a file (.txt, xml, or CSV) how i can upload these things to my php server by running a backgroud service.Service will now prompt user again and again. Everything will be recorded silently and then user will see this information on server whenever required.
View 2 Replies
View Related
Jun 30, 2010
how to call BarCodeScanner, and return the value to a field.so now, i have a toast that says "successful scan" and then i want to pass the result to a new activity. when i comment out my intent, everything works (minus the passing of data/switching of screen, obviously) but when i run my project as is, it FC's no errors reported by eclipse in code or xml. any insights?
View 2 Replies
View Related
Aug 6, 2010
I am a long time Palm OS user who is just getting started with Android. I have a gmail account and I haven't paid much attention to managing contacts there. I chose to try importing my contacts from Gmail to the Android, and I got a huge list of 5000 people, basically everyone who has ever sent me an email over the last 7 years (and none of them have phone numbers).
View 1 Replies
View Related
Sep 3, 2010
With 2.2, the old Calendar and Corporate Calendar have been merged into one. A slight problem for me is that I preferred keeping the two separate. I don't use the Google Calendar much myself, but I share calendars with bandmates so I can see their schedules for booking purposes. Now, when looking at my calendar to see my own work and social schedules, I have to wade through everyone else's scheduled events. I wouldn't mind continued access to others' schedules, but is there an easy way to separate my Google and Outlook calendars, and/or choose whose Google calendar events appear in my Droid calendar? Ideally there would be an easily accessible switch in the menu for whose calendar items I see. Lacking that, is there a way to turn others event on/off from my phone?
View 1 Replies
View Related
Oct 19, 2010
You can manage wifi connectivity, and you can kind of manage 3G, but what about 4G, more specifically WiMAX? I saw an API on ClearWire's website, but I am not sure if Google is planning to include WiMAX as part of the SDK. Does anyone have an insight? I am looking for connect/disconnect functionality, failover connection settings, etc.
View 1 Replies
View Related
Oct 21, 2009
In our app we're doing background photo uploads. The current implementation works using a combination of a Service and an AsyncTask. The former will trigger the latter, which will do the actual network I/O.
My question is: since the user can trigger many uploads in parallel, is this the correct implementation pattern? The problem is that I can never call Service.stopSelf() from an upload task when it finishes, because those tasks don't know anything about each other or the service that triggered them (because of the very nature of AsyncTask).
Do I even need a Service here at all? I always thought services were meant for long running background tasks, but their documentation clearly states that one must execute blocking operations in a separate thread. What's the purpose of Services then? You could just fork an AsyncTask from an Activity, it would make no difference at all.
View 3 Replies
View Related
Apr 9, 2010
I have a simple app that uses a Google MapView. Now in the layout file for my map activity, I created an apiKey for the debug keystore and use that. However when I want to deploy my app, I need a seperate apiKey for production (based on when I sign my application), correct?
What I'm wondering is how do people manage these two apiKeys. When developing I want to use the emulator and the debug apiKey, but when I'm deploying / doing some integration testing with my phone, I want to use the production apiKey. To me, it seems that I need to remember before compiling for production, to swap out the apiKeys in my layout file. A very error prone process given my bad memory.
View 13 Replies
View Related
May 25, 2010
I'm building a suite of applications, meaning that I have a single set of code that gets customized via a single change of an API key. This means that all of the applications have the same activities, same behaviors, but different icons, package names, and application names depending on the client I am building for.
Unfortunately, I haven't figured out a clean way to do this. Because the package name is what the Android Marketplace uses, I've been changing it to com.nilobject.productname.clientname. However, this changes the package for all of the activities to no longer be in the package of the application, since they live in "com.nilobject.productname." Additionally, the autogenerated "R" moves, so all of the references to R in com.nilobject.productname break.
I'm using Eclipse for development. Should I just refactor the activities with each build to be in the same package? Is there a system for this that I don't know about?
View 4 Replies
View Related
Sep 14, 2009
I'm writing a game for a computer class that I'm currently taking for school. The game has a lot of graphics associated with it (mostly in .png format). There is too much data to simply include it as part of the 'res'. The way i'm currently doing it, is to store all of the graphics in a single zip file, in a folder on the SDCard, e.g., / sdcard/Game/PlayerImages.zip (or whatever). And then i'm using the ZipInputStream to read from those, then using the BitmapFactory to decode the stream and then draw them on the canvas. The problem that I'm having is that this method is terribly slow if I add a lot of images into the zip file. The best way I have found thus far is to name the .png files within the zip numerically, then use a for-loop to jump directly to a specific file, but this is still a very slow way of doing it. I would like to use a single file (like zip) to hold all of the files for several reasons. 1., i'm trying to use a file container so i can simply update graphic 4.png and then push it into the zip file (for example) from a server. 2., because android sees all image files on the sdcard when you open the gallery application. 3., easier to prevent data manipulation by doing an md5/sha-1 checksum on 1 zip file, rather than every time a file is opened if it weren't in a container.
View 6 Replies
View Related
Mar 31, 2009
I would like to dynamically build a view that would display a certain number of 'rows'. Here is a piece of code I wrote, but it is not working:
CODE:..............
View 2 Replies
View Related
Aug 12, 2010
I am trying to create multiple notifications in my application. To identify each notification uniquely, i have given them an unique identificationId.
Problem: When a notification is selected, Tabs activity is called passing the intent. I want to access the unique notificationId of the notification that was selected in Tabs. I tried intent.putExtra() to save the notificationId in the intent. But, for multiple notifications its overwriting the notificationId and returns the latest one. I dont understand as to why this is happening and how can i avoid this overwriting of notificationId.
View 2 Replies
View Related
Nov 22, 2009
How would one manage continuous updates to translations? I.e., when releasing a new version, you wouldn't want your translators having to manually copy and paste existing translations from the previous versions, or worse, re-translate everything. Even when for those languages that I translate myself I noticed that when introducing a new string, I basically need to update all the language-specific resources right away, or I will have trouble later on trying to come up with a list of everything that changed.
I'm familiar with gettext, where this problem is solved by basically being able to merge the diff between Original-V1 and Original-V2 into Translation V1.
View 2 Replies
View Related