2013-06-24 49 views
6

是否可以通過adb命令將應用程序推送到後臺?我有一個應用程序調用谷歌導航,我想推谷歌導航到後臺使用adb命令。我不想回到主屏幕,我想確保調用谷歌導航的應用程序保持在前臺。到目前爲止,我有:將android應用程序推送到後臺

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

但上述命令強制停止進程,而不是推到後臺。

+3

嗯,爲什麼不通過在它的一個活動中調用'startActivity()'將應用程序帶回前臺呢? – CommonsWare

回答

1

正如CommonWare所評論的,相反將其他應用程序推到後臺,您可以通過調用startactivity和設置適當的標誌將應用程序置於前臺。

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

我必須將Intent.FLAG_ACTIVITY_REORDER_TO_FRONT更改爲Intent.FLAG_ACTIVITY_NEW_TASK,因爲我從非活動類中調用它。 – AndroidDev93

+0

我沒有應用程序。我只是想將另一個應用程序從adb推到後臺,我不關心什麼進入前臺,只要它是一個不同的。任何方式? – n611x007

6

您可以通過adb發送Home關鍵事件,按Home應該把一個活動的背景:

亞行外殼輸入KeyEvent的3

從文檔:

public static final int KEYCODE_HOME Added i n API級別1

鍵代碼常量:主鍵。該密鑰由框架處理,並且不會將其傳遞給應用程序。恆值:3(0x00000003)

可能值:http://developer.android.com/reference/android/view/KeyEvent.html

更多了點列表: ADB Shell Input Events

+0

downvote最好有一個理由評論,什麼是你的? > :) – n611x007

+1

如果它很重要(除了upvote),我相信你的解決方案是好的。它比接受的答案更接近問題所要求的。 – shalafi

+0

@shalafi(我通常不會這樣評論,但是)謝謝你,如果對你有用,我很高興! – n611x007

1

我用appium_lib和我寫background_app 8,以儘量減少並在運行的應用程序的背景。 8是您希望保持最小化的秒數。

相關問題