javascript - Ionic 2 : Lokalt meddelandeikon


Jag använder detta plugin för att ha lokala notiser: https://github.com/katzer/cordova-plugin-local-notifications/wiki/03.-Installation

Jag vill ha en specifik ikon i min avisering. Den finns i min /www/assets/images/ mapp.

Jag försöker på det här sättet men det fungerar inte, jag har en fyrkantig ikon med en klocka :

public schedule() {
    cordova.plugins.notification.local.schedule({
      title: "New Message",
      message: "Hi, are you ready? We are waiting.",
      sound: null,
      at: new Date(new Date().getTime() + 5 * 1000),
      icon: 'file://assets/images/logo2.png'
    });
  }

Kan någon visa mig vilken typ av sökväg jag måste skriva? Jag är vilse.

Svar #1

För lokala push-notiser med Ionic 2-plugin kan du ställa in ikonen som nedan. Här kommer icon.png att tas från drawable-mappen i Android. Och du kan konfigurera Ionic för att kopiera den lokala bildfilen till drawable-mappen genom att lägga till raderna som nämns nedan i konfigurationsfilen under avsnittet för Android-plattformen.

<platform name="android">
<resource-file src="resources/android/icon/icon.png" target="res/drawable/icon.png"/>
</platform>
        

this.localNotifications.schedule({
          id: 1,
          title: data.title,
          text: data.body,
          data: data,
          icon: "res://icon.png",
          smallIcon:"res://icon.png"
        });

Svar #2

Om ditt enda problem är med att notifikationsikonerna visas korrekt på Android, fungerade följande för mig - ta drawable-xhdpi-icon-ikonen (storlek 96x96), byt namn på den till icon.png och placera den på två ställen:

  • /src/assets/img
  • /plattformar/android/res/drawable

Mappen drawable är en ny mapp som kan skapas genom att kopiera platforms/android/res/mipmap-xhdpi till platforms/android/res/drawable manuellt eller med hjälp av en hook. I din kod refereras local eller geofence notification på följande sätt:

smallIcon: 'res://icon',
icon: 'file://assets/img/icon.png'

Om ionic cordova resources är en del av problemet, kan du göra din egen engångsinställning genom att ta din största ikon och, med hjälp av ett verktyg för storleksändring som resizeimage.net, skapa ett set ikoner för iOS och Android. Excel-filen här https://github.com/dovk/howto_resources-folder har en lista över storlekar och namn på .png-filerna som ska skapas. Du placerar dem sedan i respektive resursmapp precis som ionic cordova resources skulle ha gjort - till exempel i resources/android/icon, resources/ios/splash och så vidare. Om du gör så bör ionic cordova platform add android eller ionic cordova platform add ios inte längre användas, eftersom detta också gör ionic cordova resources - det du behöver göra är cordova platform add (utan ionic i början).

Relaterade artiklar