2017-07-28 106 views
5

我希望用戶能夠隱藏並顯示應用程序啓動器圖標。 我找到了解決辦法,在https://www.nexsoftsys.com/articles/how-to-hide-application-launcher-lcon-in-android.html 我也在 Hide application icon隱藏和顯示應用程序圖標

發現這個同樣的解決方案。然而,在後者的鏈接,它說,該代碼同時出現在上述

PackageManager pm = getApplicationContext().getPackageManager(); 
pm.setComponentEnabledSetting(getComponentName(), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); 

「將使該應用程序不能從谷歌播放升級作爲操作系統將無法找到該組件禁用後,將無法重新安裝它,除非應用程序不是manullay卸載(這不是一個用戶友好的行爲)「操作系統」

我h大家試圖發現這是否屬實,但沒有運氣。 有人可以回答這個嗎? 在此先感謝

+1

你想讓用戶從主屏幕上隱藏圖標嗎?或者從主屏幕,應用程序抽屜和其他可能找到的地方?如果它是後者而不是前者,那麼您希望用戶在隱藏後能夠訪問/啓動您的應用程序?一些祕密畫廊/瀏覽器使用計算器圖標來隱藏他們的應用程序,然後用戶必須進入計算器,然後鍵入一個祕密的數字序列和命令來啓動底層應用程序。你可能想考慮爲你的應用程序做這樣的事情。 –

+0

感謝您的回覆。如果您看到上面的第二個鏈接,我將啓用用戶通過撥號程序啓動應用程序。我希望應用程序能夠隱藏以上所有內容。 – user396707

回答

0

您可以隱藏使用下面的代碼的應用程序圖標非常多:使用下面的代碼

PackageManager p = getPackageManager(); 
ComponentName componentName = new ComponentName(this, com.apps.MainActivity.class); 
p.setComponentEnabledSetting(componentName,PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); 

顯示應用程序圖標:

PackageManager p = getPackageManager(); 
ComponentName componentName = new ComponentName(this, com.apps.MainActivity.class); 
p.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP); 
+0

對不起,但這並沒有回答這個問題,而且它的一部分已經顯示在我的問題中。 – user396707

0

由於我們無法知道Google Play(哪個是專有的)如何升級特定的應用程序,因此我們無法給出任何邏輯推理。這取決於Google Play如何升級應用程序/添加新補丁程序。確認這一點的唯一方法是詢問曾經完成過的人。這question問同樣的和一個開發人員證實,它的工作。答案被接受了。

我對此的猜測是:目前,您必須禁用啓動程序組件以隱藏應用程序。這並不意味着其他組件被禁用。其他組件仍處於活動狀態。這就是爲什麼主動組件應該仍然可以升級。爲了安全起見,您的未來升級應該在活動組件中完成。 您也可以爲應用程序使用別名啓動程序組件。類似於this