2

我想通过 API 下载应用程序启动器图标,并用这个新图标替换现有图标,适用于 Android 和 IOS 应用程序。我正在使用 ionic-3 Cordova 进行开发。

这可能吗?

4

2 回答 2

1

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)

信息列表


安卓科尔多瓦插件

到目前为止,我还没有找到为 Android 执行此操作的现有插件,但根据这个答案如何在 Android 中以编程方式更改应用程序图标?(我目前无法测试答案)显然可以更改图标。

于 2020-11-17T06:11:32.473 回答
1

这是不可能的。图标是静态的,在 iOS 中无法更改。这不是安卓。

于 2019-09-09T18:24:41.057 回答