Android :: Possible To Close Activity From Service
Aug 8, 2010Is it possible to close/finish activities in activity stack from a backgorund service.
View 2 RepliesIs it possible to close/finish activities in activity stack from a backgorund service.
View 2 RepliesCan finish() be used to close an activity from a service? If not, what is the proper way to end an activity from a Service? I've created an activity from my service and need to close it.
View 2 Replies View RelatedIs there a way to notify an activity/service of a force-close request right before it gets killed?
I mean when the user hits the force close button in Menu>Settings>Applications>Manage applications>app name>Force Close.
I created an application which is asynchronously communicating with the server. When the application makes a server request a new dialog (activity) with "loading" notification is created. The main activity implements methods for handling server responses and I would like to close the foreground activity when the main activity receives the answer from the server.
View 1 Replies View RelatedIs there any way to close the activity the launched another activity? So if activity A starts activity B can activity B close activity A? I know there is the tag android:finishOnTaskLaunch="true" but i only want it to happen if a button is pressed so im looking for a method to do it.
View 10 Replies View RelatedWhenever the memory needs to be reclaimed, the process is being killed by Activity Manager Service in killPidsForProcess. I have a back button in my activity window on right corner of the title bar.
I want to kill the activity completely on clicking the close button. Can I reuse the same function and will it have any major effect? Please help me out in this.
I need to made an activity (without layout) that on start check if a service is running. if it is true it starts Activity2, if it false it starts Activity1.
I tried with this code:
CODE:............
Enter code here
But when I check, in the onCreate method, if serviceConnect!=null I receive sometime a NullPointerExcption.
I tried also to insert the operation in the method onCreate in an Async Task:
CODE:............
I've had my htc hero (sprint) for about a month and half now and there has been a major problem i've been dealing with that i cant seem to find a solution to anywhere. everytime i reboot my phone, it wont work after the reboot. i cant get service, only wifi works, i cant access system updates, cant access my phone dialer. nothing works that requires date or service.
what i've tried to do is go to applications manager and ive been able to delete all the data from the google apps. this actually gave my phone service again after reboot, but i was never again able to sync my phone with google. meaning i couldnt get my contacts back, no gmail, and no market.
what ive been doing is having to do a complete hardware reset each time where i would then have to reset up my google account and re-download all my apps, needless to say this takes a lot of time each time. everytime i reboot, or when the battery drains, this happens.
I have three activity now, a, b and c, a is start point of activity lifecycle, and can go to b or c, and then assume go to b from a and close a, and then go to c from b but will not close b, and this time, I want to check whether b is start(create) or not,
if b start, I want to close b and then go to a, if b doesn't start(possible will go to c from a doesn't via b), it will also go to a but do nothing for b
how can I do for that?
I have a app,the structure composed three .java, 1.java,2.java,3.java
their relationship is: 1->2->3 and 3 can go back to 1
when i was back to 1 from 3, i want to close the 2, how to do this?
I have an EditText field and I want to pop up a new window/activity whenever a user touches/clicks the field. The new window has some widgets and of course Apply and Cancel buttons. Here is the code how I intercept the onTouch event.
EditText ctlMaskEt = (EditText)findViewById(R.id.mask_field); ctlMaskEt.setOnTouchListener(new OnTouchListener() { public boolean onTouch (View v, MotionEvent event) { popMaskEditor(); return true; } });
Everythings work fine until I click the Apply and Cancel buttons. The API finish() won't close the new window unless I click the same button one more time. Calling popMaskEditor() from a button's OnClick event handler doesn't have this problem.
I started to develope an application. When I wanted to close the application I clicked on the home screen, but the app is still playing in the background. Than I tried to click on the "back" key, but nothing happend, so I've created a key event listener for the 'back" key, and inside that method I wrote finish(); Now my app is closing but I think it's still running in the background, because when I go to "manage applications" I can still see it in the "running" tab, and if I press it, I see I can click on the "force close" to actually close the app. What do I need to do in order to really close the app without leaving it open (one way or another)?
View 9 Replies View RelatedI managed to create a secondary Activity, but now I wonder how I can close it again.
public void button_onClick(View v){
finish();
}
works when I'm dealing with just one Activity at a time, but how do I let the secondary Activity close the entire application?
My app keeps force closing before it starts, eclipse returns no errors in my code and my xml is good.
package com.mhe.test.scan;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class main extends Activity {
/** Called when the activity is first created. */
@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button myScanButton = (Button) findViewById(R.id.myScanButton); myScanButton.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.putExtra("SCAN_MODE", "PRODUCT_MODE");
startActivityForResult(intent, 0);
} } );
} EditText totalbox = (EditText) findViewById(R.id.totalbox);
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == 0) { if (resultCode == RESULT_OK) {
String contents = intent.getStringExtra("SCAN_RESULT");
// Handle successful scan totalbox.setText(contents)
} else if (resultCode == RESULT_CANCELED) {
// Handle cancel totalbox.setText("@string/bummer");
} } } }
Essentially it is supposed to call zxing Barcode Scanner to scan a barcode on a button click and return the result into an EditText field.
Just wondering is it necessary to close cursor when an activity is stopped or pause?
View 5 Replies View RelatedI want to clear variable value when will i close activity.
View 1 Replies View RelatedI'm writing a graphic design application for Android where the user can add several images to a document, where each image is stored as a Bitmap object. Each bitmap has roughly a dimension of 800x400 pixels and uses ARGB8888 pixel format (i.e. ~1.5Mb each).
I'm aware that most of the first generation Android devices have a 16Mb heap limit and this limit is 24Mb and larger for newer phones. I'm also aware that bitmap memory is allocated externally, but I'm confused and what the implications of this is.
My question is: How can I tell at runtime when adding a new Bitmap will get me too close to the memory limit?
Before someone suggests "don't use that much memory", I know that one option I have is to limit how many Bitmaps the user can create such that I know this limit is safe for the most basic Android phones. However, I'd like for phones with a bigger memory limit to support more bitmaps and/or bigger bitmaps.
I know to check for OutOfMemory exceptions when allocating bitmaps. However, there will be some situations where I've only got just enough memory left to allocate one more bitmap. After this point, the whole application will be unstable because even allocating small things like strings could cause an OutOfMemory exception. This is something I want to avoid.
I'm not sure how to define "too close to the memory limit", but I suspect something like "don't allocate more than half of your available memory to bitmaps" would work OK as my other data structures I store in memory are small in comparison.
My mobile information.
Samsung Galaxy Y Duos GT-S6102
Android 2.3.6.
I am using the Stock ROM, My mobile is rooted.
I am also using GO Launcher EX and Go Locker.
Each time i lock my phone and keep it for a while ( 15 minutes or more i think ) The Facebook Messengers and Whatsapp's Background service closes automatically, which lead that i don't receive any notifications.
BUT .. When i unlock the phone the service restart and opens again, but this made me lose many conversations because i didn't receive the notification. And Here is a test i made :
1- Lock the phone
2- keep messaging periodically my phone and i kept receiving notifications for long time ( 1 hour + )
3-but when i stopped sending myself messages and the phone was idle for 15min+ then i messeged my phone again, no notifications were received
4-after i unlock the phone and then i instantly gone to "Running Service tab" to check the service i found them " Restarting".
5-after they finished their restart i received the missed notifications.
Note : I Don't have any Auto-Task killer applications ( i had before but uninstalled it )
Is there any way for an activity to register for being notified if a wait/force close dialog is shown or alternatively if the user selects force close, a way to detect that in ondestroy()?
View 6 Replies View RelatedSo I read through the SDK docs and I thought that calling a new activity(browser) as part of a task (myTask) will mean that activity* (browser) will close when a user closes the task (myTask) But I am left with a browser window.
Here is my scenario (in sudo code);
CODE:..........
Question 1: What is the cleanest way to ensure that when a user closes my app, any outside activities called will be closed to.
Question 2: Does a callback URl start a new Task, or use one in the stack if available?
How can I create a Slide-Bottom-To-Top animation when close/stop an activity in android application?
View 1 Replies View RelatedI understand that trying to capture home button clicks is a hack, but I need to atleast close my current activity when the user clicks on home button. Is there anyway I can tell the system to close this activity is the user clicks on home button? If so how can I do that? I need to do it as I am listening for location updates and I want to stop the updates and also need to trash any location that was available to me previously. I need to do this just in case any user while in that activity clicks on home button and changes the location settings.
View 7 Replies View RelatedI have fixed the activity screen orientation to portrait on AndroidManifest.xml file. When I open or close the keyboard the activity gets restarted. How to avoid this restart?
View 4 Replies View RelatedI'm looking to find out how to stop an activity instead of resuming upon the click of the item on the notification list. Any ideas?
View 1 Replies View RelatedI have a toolbar view set for most of my activities.
The toolbar has several buttons which all trigger certain intents. Now, the problem is: how can I close current activity before starting another one ?
Problem 1) Activity cones For instance one of the buttons ('A') starts activity A. Activity A also has toolbar. If you press on the 'A' button, a new A activity will be started. I suppose I can look at Activity.getInstanceCount(), right ?
Problem 2) Unnecessary activities The activity X is not needed any more if the opts for A. I just want A then. How can I remove X from toolbar which only has access to context ?
I, of course could find toolbar view inside activity X and override the onClicks, but in general this would mean doing so for all my activities !? Am I on the right track ?
How do I close a whole hierarchy of activities and show a new activity not present in the current task?
Context
Consider a FTP browser that resumes the previous session on launch. Each folder is displayed in its own activity. When I click on a folder, a new activity is started for the folder. If I press the back button, the app returns to the previous activity, which corresponds to the the parent folder.
I can logoff from the menu at any time. Logging off should bring me to the login activity (not present the current task when the app has resumed the session), and close all the other activities. How can I do this?
From what I've read, if the activity were in the current task I could use FLAG_ACTIVITY_CLEAR_TOP in the intent, but this is not my case.
Suppose I have an Activity that's a list. It calls a Service when this Activity starts.The Service will do background stuff download, parse, and fill the list.My question is this: How can the Service communicate with the Activity?How can I call a method in the Activity, from the Service? (I'm new to OOP)
View 2 Replies View RelatedIn Virgil Dobjanschi's talk, "Developing Android REST client applications" (link here), he said a few things that took me by surprise. Including:
Don't run http queries in threads spawned by your activities. Instead, communicate with a service to do them, and store the information in a ContentProvider.
Use a ContentObserver to be notified of changes.
Always perform long running tasks in a Service, never in your Activity.
Stop your Service when you're done with it.
I understand that he was talking about a REST API, but I'm trying to make it fit with some other ideas I've had for apps. One of APIs I've been using uses long-polling for their chat interface. There is a loop http queries, most of which will time out. This means that, as long as the app hasn't been killed by the OS, or the user hasn't specifically turned off the chat feature, I'll never be done with the Service, and it will stay open forever. This seems less than optimal.
Long question short:
For a chat application that uses long polling to simulate push and immediate response, is it still best practice to use a Service to perform the HTTP queries, and store the information in a ContentProvider?
Our application will expose a Service that can be called by Activities in other people's applications.In many cases, the parent applications calling Activity may be paused before our Service completes. I am looking for the best way for a Service to communicate back to the calling Activity that may have been paused.These are the known options:
(1) Require calling Activities to have a registerReceiver() with a custom action and broadcast to that from our Service. The only way to secure this registerReceiver() is with a signature-based permission.As our Service communicates with any number of unknown 3rd party apps,we can't sign our Service's parent app with all these unknown certificates. These apps would therefore be exposing an unsecured registerReceiver() on their Activity. Would ideally like to avoid requiring this.
(2) Create a PendingIntent to send results back to the activity and give it to our Service. Our Service would send data to calling Activity's onActivityResult(). Each time the result is delivered, the calling Activity will go through onPause() and onResume() but this should be OK.
(3) The calling Activities could create a Handler. The Activity would then create a Messenger pointing to that Handler and send it to our service. Our Service can then use the Messenger to deliver our message back to the calling Activity.
I have a launcher activity which gets activated everytime i start the application and a service which complements it. Now as i press the return key from my main activity .Its Ondestroy gets called.Now i have nullify the pointer of the my launcher activity there. now i am listening through the service any event happening on the network after closing the launcher activity thread and if any event occurs i have to relaunch my launcher activity. i have tried intent but doesnot seems to get though it .
View 4 Replies View Related