安卓隱藏軟體表徵圖

來源:互聯網
上載者:User

標籤:android   io   ar   os   使用   sp   for   檔案   on   

如果你的應用需要隱藏表徵圖,那麼這篇文章接下來的段落對你可能有所協助。

 

 

在找到本文之前,你也許已經嘗試過諸如以下的解決方案:

 

1,AndroidManifest.xml檔案中在入口Activity的intent-filter裡去掉<category android:name=”android.intent.category.LAUNCHER” />,或者將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 //隱藏應用表徵圖

 

我用這倆個值來顯示和隱藏應用表徵圖有問題,隱藏以後就無法在顯示應用表徵圖了,在設定裡的所有應用裡也找不到了;

 

PackageManager.COMPONENT_ENABLED_STATE_DEFAULT //顯示應用表徵圖

 

PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER  // 隱藏應用表徵圖

 

將參數值該成這兩個值就沒有問題了,建議使用這兩個值,

 

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

 

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

 

這裡先一個一個的解釋下,

 

如果去掉<category android:name=”android.intent.category.LAUNCHER” />,就表示app沒有啟動入口了,這樣子確實是解決了不顯示表徵圖的效果,但是那樣的話我們的應用也運行不了了。頭疼~~~

 

第二種 ,我們來看看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中這樣設定了,那麼應用表徵圖不會顯示,應用也不會運行。

 

那麼,這也是不可行的~~~

 

第三種就不說了,我覺得是狗急跳牆的做法。

 

 

 

———————————分割線—————————————

 

 

 

接下來我要說的這種方法可以隱藏表徵圖,同是也可以正常啟動運行。

 

在manifest的入口activity裡面intent-filter中設定<data></data>元素。

 

比如:

 

<data android:host="AuthActivity" android:scheme="com.android.example" />

 

注意,android:scheme是大小寫敏感的,必須以小寫字母開頭

 

也就是這個MainActivity可以響應Uri為com.android.example://AuthActivity的特定 Intent

 

但是為什麼加入這個之後app就不顯示表徵圖了呢?

 

因為我們把app的入口Activity申明為由接收隱士的Intent來啟動,這樣自然也就不會顯示表徵圖了。

 

好了,如果需要顯示表徵圖的話而且也必須響應上述Uri的話,那麼我們可以在該Activity中再加入一個intent-filter標籤,將data元素移到建立的標籤中。這樣應用既可以顯示表徵圖又可以響應特定的Uri了。

安卓隱藏軟體表徵圖

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.