2011-01-21 115 views

回答

1

我不知道我是否完全理解你正在嘗試做什麼! 但是,如果你的意思是你希望用戶能夠通過點擊你的應用程序中的其他應用程序,那麼你應該檢查「意圖」。 在Eclipse中運行API演示示例代碼,並運行應用程序 - >意圖

48

這裏是開始HomeActivity

 Intent startMain = new Intent(Intent.ACTION_MAIN); 
     startMain.addCategory(Intent.CATEGORY_HOME); 
     startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     startActivity(startMain); 
+1

THX但我想打開,顯示他們的圖標,用戶的應用程序在屏幕上。我的意思是說「主屏幕」。 – sjor 2011-01-21 08:58:54

+1

你的意思是發射器? – 2012-02-21 11:42:24

+0

是的,這就是他在說什麼 – Pachonk 2012-04-23 00:10:27

5

沒有「屏幕,顯示與它們的圖標的應用程序給用戶」的代碼在Android中。

你在想什麼是一些主屏幕的功能。沒有標準化的Intent來觸發它出現,並且不需要主屏幕具有這樣的功能。

歡迎您自己寫。 Here is a sample project,它顯示ListView中的可啓動活動。

+0

嗨,先生,我需要你的幫助,我試圖創建一個示例屏幕儲物櫃它工作正常,我的問題是在屏幕鎖定後,它導航到設備默認家庭,當我點擊主頁按鈕,它會啓動我的啓動器,但需要顯示解鎖後的默認主頁,我該怎麼做。 – Aerrow 2013-12-17 07:55:30

9

您對某些答案所作的評論意味着您確實想要啓動Launcher(如果是這種情況,您可能需要更新標題)。爲此,請使用Anand提出的啓動家庭活動的方法。

Intent startMain = new Intent(Intent.ACTION_MAIN); 
startMain.addCategory(Intent.CATEGORY_LAUNCHER); 
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(startMain); 
4

嘗試這樣的事情單擊後退按鈕,任何你會轉到主屏幕/ ...

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK) { 
     // Display confirmation here, finish() activity. 
     Intent startMain = new Intent(Intent.ACTION_MAIN); 
     startMain.addCategory(Intent.CATEGORY_HOME); 
     startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     startActivity(startMain); 
     return true; 
    } 
    return super.onKeyDown(keyCode, event); 
} 
1

我覺得我很遲到了,但我也有類似的擔憂。這裏給出的答案啓動一個選擇菜單,允許您選擇啓動器。如果你的代碼中有多個啓動器,這裏的答案是:https://stackoverflow.com/a/8666155可能有幫助。這直接發射默認 Android的主屏幕。

1

無解決方案在這裏爲我工作的..

我得到了它通過使用下面的代碼

PackageManager pm = getPackageManager(); 
Intent i = new Intent("android.intent.action.MAIN"); 
i.addCategory("android.intent.category.HOME"); 
List<ResolveInfo> lst = pm.queryIntentActivities(i, 0); 
if (lst != null) { 
    for (ResolveInfo resolveInfo : lst) { 
     try { 
     Intent home = new Intent("android.intent.action.MAIN"); 
     home.addCategory("android.intent.category.HOME"); 
     home.setClassName(resolveInfo.activityInfo.packageName, resolveInfo.activityInfo.name); 
     startActivity(home); 
     break; 
     } catch (Throwable t) { 
      t.printStackTrace(); 
     } 
    } 
} 

得到它的工作:https://stackoverflow.com/a/16483596/1241783

希望這可以幫助別人

0

我已經達到它使用一條線

moveTaskToBack(true); //activity.moveTaskToBack(true); 

它表現得像主頁按鈕

0

這對我很好用!

Intent startMain = new Intent(Intent.ACTION_MAIN); 
    startMain.addCategory(Intent.CATEGORY_HOME);  
    startActivity(startMain); 

有人可以解釋爲什麼我們需要這個嗎?

startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

順便說一句,這就是我一直在尋找

moveTaskToBack(true); 
相關問題