2014年1月3日 星期五

Android - 如何讓安裝的APP不出現在手機的『程式列表』中( all apps list)

參考:Display message after Package install
         Creating a Main Activity which DOES NOT appear in the launcher list

需求:之前客戶有提出,希望有一個APP為主體,這裡稱之為MAIN_APP,然後之後其他安裝附屬APP(B_APP,C_APP...)都是一定要靠MAIN_APP才能啟動,且不能讓這些其他已安裝的APP顯示在『程式列表』中:


解法:
  其實很簡單,只要將
            
                
                
            

改為:
            
                

                
            

也就是說將原先的android.intent.category.LAUNCHER替換為android.intent.category.INFO就可以囉

android.intent.category.LAUNCHER我們都清楚是幹嘛的,至於android.intent.category.INFO是做什麼的呢?以下截取自官方DOC:

Provides information about the package it is in; typically used if a package does not contain a CATEGORY_LAUNCHER to provide a front-door to the user without having to be shown in the all apps list.
Constant Value: "android.intent.category.INFO"

而依照此篇文章所說,如果要讓googl play這些附屬APP(B_APP,C_APP...)的google play專屬頁也要能顯示『開啟』按鈕,似乎就是得靠加上

<action android:name="android.intent.action.MAIN" />來幫忙,不過這部分我還沒測試過,之後測試過再確定更新吧(希望我還記得...)

1 則留言:

  1. 你好,久仰大名,对的把launcher改为info就可以隐藏启动图标,想问一下可以在activity动态设置图标的隐藏和出现吗

    回覆刪除