如何动态更改应用启动器图标

时间:2019-09-09 16:12:49

标签: ios cordova ionic3 android-launcher app-launcher

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

这可能吗?

2 个答案:

答案 0 :(得分: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.plistCFBundleIcons),然后在CFBundleAlternateIcons中添加与图像对应的项目,如示例所示:

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

如果需要iPad支持,结构应类似于:

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

Cordova项目的图像示例(例如,离子)

info.plist


Android cordova插件

到目前为止,我还没有找到适用于Android的现有插件,但是根据答案How to change an application icon programmatically in Android?(目前我无法测试答案),显然可以更改图标。 / p>

答案 1 :(得分:0)

不可能。图标是静态的,不能在iOS中更改。它不是Android。