Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android - 安裝應用(APP) 不顯示圖標

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

編輯:關於Android編程

安裝應用(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了。


/

 

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved