Android - 安裝應用(APP) 不顯示圖標


裝應用(APP) 不顯示圖標

 

本文地址:www.2cto.com

 

在啟動的activity的AndroidManifest注冊中,添加隱式啟動的data:

        
         

 


刪除應用圖標的若干解決方案:

1、AndroidManifest.xml文件中在入口Activity的intent-filter里去掉

 
        

或者將LAUNCHER改為DEFAULT


2、在程序中加入下面的代碼
顯示圖片:

PackageManager p = getPackageManager();
p.setComponentEnabledSetting(getComponentName(), PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);

隱藏圖標:

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

PackageManager.COMPONENT_ENABLED_STATE_ENABLED //顯示應用圖標
PackageManager.COMPONENT_ENABLED_STATE_DISABLED //隱藏應用圖標
我用這倆個值來顯示和隱藏應用圖標有問題,隱藏以后就無法在顯示應用圖標了,在設置里的所有應用里也找不到了;
將參數值該成這兩個值就沒有問題了,建議使用這兩個值。

3、去掉android:icon=”@drawable/ic_launcher”中的資源啊,等等等等。。。

但是試過了每一種方法之后你都發現起到了作用但是卻產生了其他的問題:

1、如果去掉,就表示app沒有啟動入口了,
這樣子確實是解決了不顯示圖標的效果,但是那樣的話我們的應用也運行不了了。

2、我們來看看android developer上的說明:
public static final int COMPONENT_ENABLED_STATE_DISABLED
Flag for setApplicationEnabledSetting(String, int, int) and setComponentEnabledSetting(ComponentName, int, int): This component or application has been explicitly disabled, regardless of what it has specified in its manifest.
意思是,即使你在manifest中聲明了這個component或application,當你設置為COMPONENT_ENABLED_STATE_DISABLED時,他們都是不可用的。也就是說,如果你在MainActivity中這樣設置了,那么應用圖標不會顯示,應用也不會運行。

3、就不說了,我覺得是狗急跳牆的做法。

最優的解決方案:
接下來我要說的這種方法可以隱藏圖標,同是也可以正常啟動運行。
在manifest的入口activity里面intent-filter中設置元素。
比如:

 
        

注意,android:scheme是大小寫敏感的,必須以小寫字母開頭
也就是這個MainActivity可以響應Uri為com.android.example://AuthActivity的特定 Intent
但是為什么加入這個之后app就不顯示圖標了呢?
因為我們把app的入口Activity申明為由接收隱士的Intent來啟動,這樣自然也就不會顯示圖標了。
如果需要顯示圖標的話而且也必須響應上述Uri的話,那么我們可以在該Activity中再加入一個intent-filter標簽,將data元素移到新建的標簽中。
這樣應用既可以顯示圖標又可以響應特定的Uri了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM