Ecco una risposta completa.
Punto 1. Per prima cosa è necessario dichiarare e inizializzare alcune variabili: -
private static final String APP_DETAILS_PACKAGE_NAME = “com.android.settings”; // Here you need to define the package name
private static final String SCREEN_CLASS_NAME = “com.android.settings.RunningServices”; // Here you need to define the class name but NOTICE!! you need to define its full name including package name.
Fase 2. istanziare un Intent
Intent intent = new Intent();
Passo 3. Impostare azione per ACTION_VIEW
intent.setAction(Intent.ACTION_VIEW);
Passaggio 3. Impostare il nome della classe nell'intento poiché sappiamo che il pacchetto può avere più di un'attività. Quindi Intent ha bisogno di qualcosa per abbinare l'attività all'interno del nome del pacchetto.
intent.setClassName(APP_DETAILS_PACKAGE_NAME, SCREEN_CLASS_NAME); //Here you need to set package name as well as class name so it could refer to the Package and IntentFilter of the given Activity.
Fase 4. Avviare l'attività
context.startActivity(intent); // As soon as this line will be executed Running Service screen will be displayed as a foreground activity.
Nell'esempio di cui sopra, se si desidera accedere ad alcune schermata diversa quindi modificare l'APP_DETAILS_PACKAGE_NAME e SCREEN_CLASS_NAME secondo il vostro bisogno.
Non so davvero che questo metodo sia documentato o meno, ma funziona come un fascino per me.
http://varundroid.blog.com/2011/05/22/androidscreens/ Non so questa soluzione è giusto o sbagliato, ma funziona bene per me. – Varundroid