2013-06-24 12 views
6

È possibile inviare un'applicazione sullo sfondo tramite un comando adb? Ho un'applicazione che chiama google navigation e voglio spingere google navigation in background usando un comando adb. Non voglio tornare alla schermata principale, ma assicurati che l'app che ha chiamato google navigation rimanga in primo piano. Finora ho:Spingere l'applicazione Android sullo sfondo

adb shell am force-stop com.google.android.apps.maps 

Ma la forza di comando precedente arresta il processo anziché premere sullo sfondo.

+3

Um, perché non riportare la tua applicazione in primo piano, chiamando 'startActivity()' in una delle sue attività? – CommonsWare

risposta

1

Come CommonWare ha commentato, spingendo invece l'altra app sullo sfondo, è possibile portare l'app in primo piano chiamando l'avvio e impostando i flag appropriati.

Intent i = new Intent(context, YourActivity.class); 
i.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 
startActivity(i); 
+0

Ho dovuto modificare Intent.FLAG_ACTIVITY_REORDER_TO_FRONT in Intent.FLAG_ACTIVITY_NEW_TASK poiché lo chiamavo da una classe non attiva. – AndroidDev93

+0

Non ho app. Voglio solo spingere un'altra app da adb sullo sfondo, non mi interessa cosa passa in primo piano se è diverso. Comunque? – n611x007

6

È possibile inviare un evento chiave Home via adb, premendo Home dovrebbe porre Activity allo sfondo:

ingresso KeyEvent adb shell 3

dalla documentazione:

public static final int KEYCODE_HOME Aggiunto i n Livello API 1

Codice chiave costante: tasto Home. Questa chiave viene gestita dal framework e non viene mai consegnato alle applicazioni. Costante Valore: 3 (0x00000003)

valori possibili: http://developer.android.com/reference/android/view/KeyEvent.html

più to-the-point lista: ADB Shell Input Events

+0

downvote è meglio con un motivo come commento, qual è il tuo? > :) – n611x007

+1

se conta (oltre all'upvote), credo che la tua soluzione sia buona. È più vicino a ciò che la domanda richiede rispetto alla risposta accettata. – shalafi

+0

@shalafi (di solito non commento come questo ma) grazie amico sono felice se ti è utile! – n611x007

1

Io uso appium_lib e scrivo background_app 8 per minimizzare e avere l'applicazione in esecuzione in lo sfondo. 8 è il numero di secondi che vuoi mantenere ridotto al minimo.

Problemi correlati