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

Taskmanager

Das Thema "Taskmanager" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 11.12.2011, 16:54   #1 (permalink)
Erfahrener Benutzer

Registriert seit: 09.01.2011
Beiträge: 218
Abgegebene Danke: 11
Erhielt 21 Danke für 14 Beiträge
mkl eine Nachricht über ICQ schicken
Standard Taskmanager

Hi Leute,

ich muss für mein Studienfach Betriebssysteme eine App entwickeln, da ich das Thema Android App-Entwicklung gewählt habe. Nun wollte ich quasie einen primitiven Taskmanager bauen, da es irg. mit Betriebssysteme zu tun haben soll... Das was ich unter developer.android.com gefunden habe an API-Dokumentation, SampleCodes war jedoch ernüchternd Entweder ich bin zu doof das zu suchen oder es gibt wirklich keine SampleCodes dazu!

Bisher bekomme ich eine unformatierte Liste mit den angeblich laufenden Prozessen ob das wirklich alle sind kann ich nicht sagen... Außerdem gebe ich mir zusätzlich noch die pid (Prozess ID) aus mit welcher ich versuche die Apps zu killen... Leider weiß ich nicht genau wie ich die Apps nun tatsächlich killen kann! Ob es reicht mit einem liste.remove(pid) und somit die App zum killen freigeben wird oder ob ich dafür mehr machen muss...

Hier mal der Code den ich mir irg. zusammengebastelt hab (Try and Error)

Code:
package de.notionsfactory.MemoryInfo;

import java.util.List;
import java.util.ListIterator;
import android.app.ActivityManager;
import android.app.ActivityManager.MemoryInfo;
import android.app.ActivityManager.RunningAppProcessInfo;
import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.view.View;
import android.view.View.OnClickListener;

public class MemoryInfoActivity extends Activity implements OnClickListener {
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);        
        
        ActivityManager activityManager = (ActivityManager) getApplicationContext().getSystemService(ACTIVITY_SERVICE);
        MemoryInfo memoryInfo = (MemoryInfo) new ActivityManager.MemoryInfo();
        activityManager.getMemoryInfo(memoryInfo);
        List<RunningAppProcessInfo> mylist = activityManager.getRunningAppProcesses();
        ListIterator<RunningAppProcessInfo> iti = mylist.listIterator(BIND_AUTO_CREATE);
        
        Button killit = (Button) findViewById(R.id.kill_button);
        killit.setOnClickListener(this);
        Button refreshit = (Button) findViewById(R.id.refresh);
        refreshit.setOnClickListener(this);
        
        String ausgabe = null;
        TextView my1 = (TextView) findViewById(R.id.prozesse);
        
        for(;iti.hasNext();)
        {
        	ausgabe += iti.next().processName;
        	ausgabe += "  ";
        	ausgabe += String.valueOf(iti.next().pid);
        	ausgabe += "\n";
        }

        my1.setText(ausgabe);
		
        
        
    }

	public void onClick(View v) {
		
		if(v.getId() == R.id.kill_button)
		{
			ActivityManager activityManager = (ActivityManager) getApplicationContext().getSystemService(ACTIVITY_SERVICE);
	        MemoryInfo memoryInfo = (MemoryInfo) new ActivityManager.MemoryInfo();
	        activityManager.getMemoryInfo(memoryInfo);
	        List<RunningAppProcessInfo> mylist = activityManager.getRunningAppProcesses();
	        
	        EditText userinput = (EditText) findViewById(R.id.id_input);
	        mylist.remove(userinput.getText());
		}
		else if(v.getId() == R.id.refresh)
		{
			
			ActivityManager activityManager = (ActivityManager) getApplicationContext().getSystemService(ACTIVITY_SERVICE);
	        MemoryInfo memoryInfo = (MemoryInfo) new ActivityManager.MemoryInfo();
	        activityManager.getMemoryInfo(memoryInfo);
	        List<RunningAppProcessInfo> mylist = activityManager.getRunningAppProcesses();
	        ListIterator<RunningAppProcessInfo> iti = mylist.listIterator(BIND_AUTO_CREATE);
			
			String ausgabe = null;
	        TextView my1 = (TextView) findViewById(R.id.prozesse);
	        
	        for(;iti.hasNext();)
	        {
	        	ausgabe += iti.next().processName;
	        	ausgabe += "  ";
	        	ausgabe += String.valueOf(iti.next().pid);
	        	ausgabe += "\n";
	        }

	        my1.setText(ausgabe);
	        
		}
	}
}
Ich hoffe jemand von euch kennt eine Seite wo diese API besser dokumentiert ist bzw. Beispielcode vorhanden ist... Bzw. konkrete Vorschläge und Erklärungen wie ich was machen muss damit die App gekillt wird wären super! Außerdem wäre es genial wenn ich statt dem vollen Prozessname wie z.B. meine App de.notionsfactory.MemoryInfo nur MemoryInfo ausgeben könnte, ohne mir selbst eine Vergleichsfunktion usw. programmieren zu müssen!

Anbei noch ein Screenshot. Ich zähle auf euch!
Miniaturansicht angehängter Grafiken
Taskmanager-sample.png  
__________________
mkl

Galaxy Nexus / Rom: AOKP (Milestone 5)
mkl ist offline   Mit Zitat antworten
Alt 11.12.2011, 17:18   #2 (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: Taskmanager

lol, developer.android.com hat unzählige beispiel und dokumentationen. da bist du dann echt blind

den sample code kannst auch via adt installieren
__________________
App Entwicklung
Latest apps: Media Streamer BETA | DailyCash | MoneyManager ( PRO | HD )
swordi ist offline   Mit Zitat antworten
Alt 11.12.2011, 19:05   #3 (permalink)
Erfahrener Benutzer

Registriert seit: 09.01.2011
Beiträge: 218
Abgegebene Danke: 11
Erhielt 21 Danke für 14 Beiträge
mkl eine Nachricht über ICQ schicken
Standard AW: Taskmanager

Und wie finde ich diese Beispielcodes dann? Also wenn ich nun z.B. die ProcessInfo über die Suche gefunden habe und hier gelandet bin:

ActivityManager.RunningAppProcessInfo | Android Developers

Wo finde ich dann dazu SampleCode? Oder muss ich mich mit viel Glück in anderen Bereichen der Seite durchklicken?
__________________
mkl

Galaxy Nexus / Rom: AOKP (Milestone 5)
mkl ist offline   Mit Zitat antworten
Alt 11.12.2011, 19:22   #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: Taskmanager

hmm es gibt noch den "tab" resources. das könnte doch was für dich sein.

oder was hält dich davon ab "android samples" bei google einzugeben ?

Für Android Entwicklung braucht man sicher vieles, aber Glück gehört nicht dazu
__________________
App Entwicklung
Latest apps: Media Streamer BETA | DailyCash | MoneyManager ( PRO | HD )
swordi ist offline   Mit Zitat antworten
Alt 12.12.2011, 00:56   #5 (permalink)
Android Guru
 
Benutzerbild von Fr4gg0r

Modell: Samsung Galaxy S (I9000)

Registriert seit: 21.12.2009
Beiträge: 2.572
Abgegebene Danke: 76
Erhielt 506 Danke für 295 Beiträge
Standard AW: Taskmanager

Das ist unix.. du kannst du nur Prozesse killen die du selber gestartet hast (und dich selber).
Nur root kann alle Prozesse killen.
Fr4gg0r ist offline   Mit Zitat antworten
Alt 12.12.2011, 13:06   #6 (permalink)
Erfahrener Benutzer

Registriert seit: 09.01.2011
Beiträge: 218
Abgegebene Danke: 11
Erhielt 21 Danke für 14 Beiträge
mkl eine Nachricht über ICQ schicken
Standard AW: Taskmanager

Und wie macht es dann die App Advanced TaskManager?
__________________
mkl

Galaxy Nexus / Rom: AOKP (Milestone 5)
mkl ist offline   Mit Zitat antworten
Alt 12.12.2011, 13:31   #7 (permalink)
Android Guru
 
Benutzerbild von Fr4gg0r

Modell: Samsung Galaxy S (I9000)

Registriert seit: 21.12.2009
Beiträge: 2.572
Abgegebene Danke: 76
Erhielt 506 Danke für 295 Beiträge
Standard AW: Taskmanager

http://developer.android.com/referen...lang.String%29

Die startet wohl services neu..
Es gibt zwar noch die Methode forceStopPackage(), diese benötigt aber auch eine entsprechende Permission welche du nicht bekommst (Es sei denn du nutzt cyanogenmod).

Zitat:
Sorry you can't do this. Apps now can only kill processes of other apps
that are in the background.
Vom android-häcker-weib
Fr4gg0r ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
Taskmanager mik_schreiber Huawei Ideos X3 (U8510) Forum 12 08.10.2011 20:09
Taskmanager Ativan Motorola Atrix Forum 2 12.09.2011 12:19
Taskmanager reakwon69 Tools 5 05.09.2011 10:34
Taskmanager MukuFuk Motorola Milestone Forum 4 26.08.2011 18:34
Taskmanager The Joker HTC Magic Forum 2 28.06.2009 15:41




Du liest gerade: "Taskmanager" 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.