|
||
|
|
|
|||||||
| Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
![]() |
|
|
Herramientas |
|
#1
|
||||
|
||||
|
Cómo obtener app activas
Estoy interesado en saber, si es posible, cómo acceder a las aplicaciones que se están ejecutando en el teléfono? Estoy preparando una app, y necesito saber qué aplicaciones están en memoria ejecutándose, todo ésto desde código claro.
Gracias. |
|
|
|
#2
|
||||
|
||||
|
Prueba con esto:
http://developer.android.com/referen...tyManager.html Hay un método llamado getRunningAppProcesses() que creo que sirve para lo que quieres, no pone nada de static así que supongo que tendrás que crear un objeto ActivityManager para poder usarlo. Por cierto, acojonante el método isUserAMonkey() |
|
#3
|
||||
|
||||
|
Muchas gracias, les echaré un vistazo a ambas... Estoy interesado en crear, para aprender, un widget con las aplicaciones activas, para poder moverme entre ellas... Un poco tonto, pero para aprender a usar la sdk, creo que me servirá bien.
|
|
#4
|
||||
|
||||
|
Otra preguntilla... Soy nuevo con java, y por tanto con android sdk... Y la verdad, he estado mirando la clase ActivityManager, pero no existe un constructor... He oído que se pueden utilizar unos objetos llamados factory, o algo así, que construyen objetos de clases que no sabes cuál es su constructor... Básicamente me he quedado ahí...
Gracias |
|
#5
|
||||
|
||||
|
Bueno, más o menos he ido solucionando problemas, no tiene constructor, pues es el resultado de una consulta "ActivityManager a = (ActivityManager) this.getSystemService( ACTIVITY_SERVICE );"
Luego obtengo una lista con getRunningAppProcesses(), y lo intento mostrar en un ListView... (Aquí me lío un poco, pero bueno) y con processName muestro esos procesos. ¿Qué os parece?¿Alguna manera de mejorarlo? Código:
package app.task;
import java.util.List;
import android.app.Activity;
import android.app.ActivityManager;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class AppTaskActivity extends Activity {
/** Called when the activity is first created. */
@override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ActivityManager a = (ActivityManager) this.getSystemService( ACTIVITY_SERVICE );
List<ActivityManager.RunningAppProcessInfo> lista = a.getRunningAppProcesses();
String lv_arr[]={lista.iterator().next().processName, lista.iterator().next().processName,lista.iterator().next().processName};
ListView lv1 = (ListView)findViewById(R.id.listView1);
lv1.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1 , lv_arr));
}
}
|
![]() |
Estás aquí
|
||||||
|
||||||