Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

Aktuelle Activity herausfinden?

Das Thema "Aktuelle Activity herausfinden?" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 02.12.2011, 02:28   #1 (permalink)
Neuer Benutzer

Registriert seit: 10.03.2011
Beiträge: 18
Abgegebene Danke: 4
Erhielt 0 Danke für 0 Beiträge
Standard Aktuelle Activity herausfinden?

Hallo Entwickler,

folgendes Problem:

Ich habe eine App mit der man andere Activities starten kann (z.B. mail app).
Ich möchte eine Funktion schreiben, die nach einer gewissen Zeitspanne die neuen activities schließt und so zu meiner ursprünglichen activity zurückkehrt.

Also z.B. so:

myActivity
(User ruft mail app auf)
-> mail activity wird gestartet
(user ruft nachricht auf)
-> nachricht activity gestartet
(Nach 10 Minuten soll wieder zur ursprünglichen Activity zurückgekehrt werden.)
-> nachricht activity.finish
-> mail activity.finish


Die Zeitspanne warte ich mit Hilfe eines THREADs ab,

Code:
private Runnable myThread = new Runnable() {
        @Override
        public void run() {
            // TODO Auto-generated method stub
            while (myProgress < 600) {
                try {
                    myHandle.sendMessage(myHandle.obtainMessage());
                    Thread.sleep(1000);

                } catch (Throwable t) {
                }
            }            

        }

        Handler myHandle = new Handler() {

            @Override
            public void handleMessage(Message msg) {
                    myProgress = myProgress + 1;
                    if(myProgress >= 600){
                          //// Hier muss die Funktion XXXXX hin
                    }
                }
            }
        };
    };
Die Funktion XXXXX muss jetzt prüfen wie die aktuelle Activity heißt, und sie gegebenenfalls schließen. Doch wie finde ich den Namen der Activity, die momentan im Vordergrund ist?

Gibt es irgendsowas wie getActivity, oder so?


Vielen Dank für eure Hilfe.
dannywilde ist offline   Mit Zitat antworten
Alt 07.12.2011, 00:42   #2 (permalink)
Neuer Benutzer

Registriert seit: 10.03.2011
Beiträge: 18
Abgegebene Danke: 4
Erhielt 0 Danke für 0 Beiträge
Standard AW: Aktuelle Activity herausfinden?

Leute, I nee help.

Habe jetzt tagelang rumprobiert mit getApllicationContext() und anderen Methoden, aber ich kriege nichts hin.

Vielleicht habe ich es oben zu kompliziert formuliert.

Meine Frage ist einfach:

Wie kriege ich die Activity, die aktuell im Vordergrund ist?
dannywilde ist offline   Mit Zitat antworten
Alt 07.12.2011, 08:37   #3 (permalink)
Android-Hilfe.de Mitglied

Modell: Motorola Atrix 4G

Registriert seit: 07.12.2010
Beiträge: 170
Abgegebene Danke: 14
Erhielt 32 Danke für 31 Beiträge
Neeldarax eine Nachricht über ICQ schicken
Standard AW: Aktuelle Activity herausfinden?

Hi dannywilde,

ich kenne keine bereitgestellte Funktion dafür, aber du kannst in einer statischen Klasse eine statische Variable mit der aktuellen Activity pflegen.

Muss halt nur selber die Arbeit machen, dass immer die aktuelle Activity gespeichert wird.

regards
__________________
g o o g l e+ plus.neeldarax.de
androidblog www.neeldarax.de
Neeldarax ist offline   Mit Zitat antworten
Alt 07.12.2011, 08:58   #4 (permalink)
Android Guru

Registriert seit: 09.05.2009
Beiträge: 2.389
Abgegebene Danke: 36
Erhielt 307 Danke für 289 Beiträge
Standard AW: Aktuelle Activity herausfinden?

dafür muss er aber genau wissen, was der user für externe apps aufgerufen hat.
__________________
App Entwicklung
Latest apps: Media Streamer BETA | DailyCash | MoneyManager ( PRO | HD )
swordi ist offline   Mit Zitat antworten
Alt 07.12.2011, 18:39   #5 (permalink)
Erfahrener Benutzer

Modell: HTC Magic, Flytouch 2, Motorola Flipout, SE Xperia X10i, HTC Desire Z, SE Xperia Play, SE Mini Pro

Registriert seit: 12.01.2010
Beiträge: 255
Abgegebene Danke: 16
Erhielt 41 Danke für 39 Beiträge
Standard

Etwas seltsam was du da vorhast. Lies mal die Dokumentation zum "Activitymanager" - da ist vermutlich das was du brauchst. Benötigt aber extra Permissions.
__________________
Meine Apps ...
miha ist offline   Mit Zitat antworten
Alt 08.12.2011, 01:50   #6 (permalink)
Neuer Benutzer

Registriert seit: 10.03.2011
Beiträge: 18
Abgegebene Danke: 4
Erhielt 0 Danke für 0 Beiträge
Standard AW: Aktuelle Activity herausfinden?

@swordi und Neeldarax: Es ist unbekannt, welche apps der User aufgerufen hat. Allerdings ist die Anzahl der apps, die der User aufrufen kann beschränkt. Ich könnte also theoretisch für jede dieser apps eine eigene Funktion schreiben. Trotzdem ist mir nicht klar, wie ich die aktuelle Activity in der statischen Klasse speichern kann?





@miha: Mit dem ActivityManager probiere ich schon seit Tagen rum. Es gibt auch eine Funktion die als Lösung für meine Zwecke ausreichen würde:
Code:
void moveTaskToFront(int taskid, int flags)
Allerdings steht mir diese Funktion aus unerfindlichen Gründen nicht zur Verfügung!
Code:
ActivityManager am = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);

am.moveTaskToFront(taskInfo.get(0).id);
Hier kriege ich die Meldung: "The method moveTaskToFront(int) is undefined for the type ActivityManager"


SDK ist auf dem neuesten Stand. Die nötige Ppermission ist auch gegeben.
Code:
    <uses-permission android:name="android.permission.REORDER_TASKS"></uses-permission>
Woran kann das liegen? Und wie werde ich diesen Fehler los?
dannywilde ist offline   Mit Zitat antworten
Alt 08.12.2011, 07:31   #7 (permalink)
Ehren-Mitglied
 
Benutzerbild von Kranki

Modell: Nexus One

Registriert seit: 19.07.2009
Beiträge: 4.329
Abgegebene Danke: 127
Erhielt 1.372 Danke für 871 Beiträge
Kranki eine Nachricht über ICQ schicken
Standard AW: Aktuelle Activity herausfinden?

Die Methode steht erst ab API Level 11 zur Verfügung. Vermutlich ist deine minSdkVersion nicht hoch genug.
__________________
CyanogenMod 7 Nightly - AmonRa Recovery 2.0 - Nexus One
Kein Support via PN und E-Mail. Bitte das Forum nutzen.
"Es ist Mode geworden, die Freiheitsrechte des Bürgers in den Mittelpunkt zu stellen." - Siegfried Kauder
Kranki ist gerade online   Mit Zitat antworten
Alt 08.12.2011, 08:41   #8 (permalink)
Erfahrener Benutzer

Modell: HTC Magic, Flytouch 2, Motorola Flipout, SE Xperia X10i, HTC Desire Z, SE Xperia Play, SE Mini Pro

Registriert seit: 12.01.2010
Beiträge: 255
Abgegebene Danke: 16
Erhielt 41 Danke für 39 Beiträge
Standard AW: Aktuelle Activity herausfinden?

Zitat:
Zitat von dannywilde Beitrag anzeigen
@miha: Mit dem ActivityManager probiere ich schon seit Tagen rum. Es gibt auch eine Funktion die als Lösung für meine Zwecke ausreichen würde:
Code:
void moveTaskToFront(int taskid, int flags)
Allerdings steht mir diese Funktion aus unerfindlichen Gründen nicht zur Verfügung!
[code]
getRunningTasks liefert die Tasks auch sortiert - da kannst du ja gucken ob deine noch läuft und was drüber ist.

Was mir aber falsch scheint ist deine Annahme dass deine Wunsch-Activity überhaupt noch läuft nach 10 Minuten im Background. Oft wird das System sie längst entfernt haben ...
__________________
Meine Apps ...

Geändert von miha (08.12.2011 um 08:47 Uhr)
miha ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
IMEI herausfinden domae Samsung Galaxy S Plus (I9001) Forum 7 17.11.2011 22:48
Activity aus Activity aufrufen mit untersch. Klassenerweiterungen BarneyLovesbeer Android App Entwicklung 4 03.08.2011 17:10
PIT herausfinden andy204 Root / Hacking / Modding für Samsung Galaxy S 5 06.03.2011 19:58
keyboardMode herausfinden MetBo Android App Entwicklung 4 20.09.2010 12:38
Wert an Activity B von Activity B übergeben Beni Android App Entwicklung 16 16.09.2010 15:05




Du liest gerade: "Aktuelle Activity herausfinden?" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.