簡體   English   中英

如何動態更改應用程序啟動器圖標

[英]How to change the app launcher icon dynamically

我想通過 API 下載應用程序啟動器圖標,並用這個新圖標替換現有圖標,適用於 Android 和 IOS 應用程序。 我正在使用 ionic-3 Cordova 進行開發。

這可能嗎?

這是不可能的。 圖標是靜態的,無法在 iOS 中更改。 這不是安卓。

iOS 10.3+開始是可能的(自 2017 年起),但對於 Cordova 應用程序(如 Ionic)而言,它將取決於特定的插件。

你可以試試這個插件(僅限 iOS,不是 Android) cordova-plugin-app-icon-changer

安裝使用:

cordova plugin add cordova-plugin-app-icon-changer

對於檢查支持:

AppIconChanger.isSupported(function(supported) {
    if (supported) {
          ...
    } else {
          ...
    }
});

對於更改圖標:

AppIconChanger.changeIcon({
    iconName: "<icon name here>",
    suppressUserNotification: true
}, function() {
     // Changed...
}, function(err) {
     // If failed ...
});

有關更多插件,請參閱: https : //cordova.apache.org/plugins/?q=icon

注意:如果需要什么,您可以使用setAlternateIconName(_:completionHandler:)實現自己的插件(或者如果您想創建本機應用程序)

使用supportsAlternateIcons檢查是否支持交換很重要

將圖像放入“資產”后,轉到Info.plist ( CFBundleIcons ) 添加CFBundleAlternateIcons以及與圖像對應的項目,如示例所示:

▼ CFBundleIcons
  ▼ CFBundleAlternateIcons
    ▼ <icon name here>
      ▶ CFBundleIconFiles

如果您需要對 iPad 的支持,其結構應如下所示:

▼ CFBundleIcons
  ▼ CFBundleAlternateIcons
    ▼ <icon name here>
      ▶ CFBundleIconFiles
▼ CFBundleIcons~ipad
  ▼ CFBundleAlternateIcons
    ▼ <icon name here>
      ▶ CFBundleIconFiles

Cordova 項目的圖像示例(例如 Ionic)

信息.plist


Android 科爾多瓦插件

到目前為止,我還沒有找到為 Android 執行此操作的現有插件,但根據此答案如何在 Android 中以編程方式更改應用程序圖標? (我目前無法測試答案)顯然可以更改圖標。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM