簡體   English   中英

Ionic 2 : 本地通知圖標

[英]Ionic 2 : Local notification icon

我使用這個插件來獲得本地通知: https : //github.com/katzer/cordova-plugin-local-notifications/wiki/03.-Installation

我想在我的通知中有一個特定的圖標。 它位於我的 /www/assets/images/ 文件夾中。

我嘗試這種方式但它不起作用,我有一個帶鈴鐺的方形圖標:

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'
    });
  }

有人可以告訴我我必須寫的路徑類型嗎? 我迷路了。

對於 ionic 2 插件的本地推送通知,您可以設置如下圖標。 這里的 icon.png 將從 android 中的 drawable 文件夾中獲取。 您可以通過在 android 平台部分下的配置文件中添加下面提到的行來配置 ionic 以將本地圖像文件復制到 drawable 文件夾。

<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"
        });

如果您唯一的問題是通知圖標在 Android 上正確顯示,以下對我有用- 取drawable-xhdpi-icon圖標(大小96x96 ),將其重命名為icon.png並將其放在兩個位置:

  • /src/assets/img
  • /平台/安卓/資源/可繪制

drawable文件夾是一個新文件夾,可以通過手動或借助鈎子將platforms/android/res/mipmap-xhdpi 復制platforms/android/res/drawable來創建。 在您的代碼中,本地地理圍欄通知的引用如下:

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

如果ionic cordova 資源是問題的一部分,您可以通過獲取最大的圖標來進行自己的一次性設置,並在 resizeimage.net 等調整大小工具的幫助下,為 iOS 和 Android 創建一組圖標。 此處的 Excel https://github.com/dovk/howto_resources-folder列出了要創建的 .png 文件的大小和名稱。 然后,您將它們放在各自的資源文件夾中,就像ionic cordova 資源所做的那樣 - 例如在資源/android/icon、資源/ios/splash等中。 如果這樣做,則不應再使用ionic cordova platform add androidionic cordova platform add ios ,因為這也適用於ionic cordova 資源- 您需要做的是cordova platform add (開始時沒有ionic )。

我找到了一個解決方案:

我在 /platforms/android/res/ 中創建了一個名為“drawable”的新文件夾,並將我的圖像放在名為“ic_notifications.png”和“ic_notifications_small.png”的新文件夾中。

在我的代碼中我寫了

cordova.plugins.notification.local.schedule({
      id: 2,
      title: "Notification",
      message: "Retour à l'application",
      sound: null,
      at: new Date(new Date().getTime() + 5 * 1000),
      icon: 'ic_notifications',
      smallIcon: 'ic_notification_small'
    });

它有效!

在 AndroidManifest.xml 中添加以下元數據,然后它將起作用。

 <application
    android:name="xxxxxx"
        android:label="xxxxxx"
        android:icon="@mipmap/ic_launcher"
        
        >

       <meta-data
                android:name="your_apps_bundle_id.default_notification_icon"
                android:resource="@drawable/ic_notif" />

......
        var teste = new NotificationImage { FilePath = "@Resources/drawable/IcoApp.png" };


        var notification = new NotificationRequest
        {
            Description = "Test Description",
            Title = "Notification!",
            ReturningData = "Dummy Data",
            Image = teste
        };

給圖片路徑如下,圖片文件名不加擴展名LocalNotifications.schedule({ id: 1, title: "Notification Title", text: "Notification Text", icon: 'assets://images/image_name' });

暫無
暫無

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

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