簡體   English   中英

如何在離子中更改android本地通知圖標?

[英]How to change android local notification icon in ionic?

我正在使用ionic來構建一個Android應用程序。 我正在使用$cordovaLocalNotification進行本地通知。 通知有效但顯示默認鈴聲圖標。 如何自定義通知圖標?

$scope.scheduleSingleNotification = function () {
    $cordovaLocalNotification.schedule({
      id: 1,
      title: 'GRM APP Builder',
      text: 'Quer café?!?',
      badge: 1,
      icon: 'res://coffee.png',
      data: {
        customProperty: 'custom value 1'
      }
    }).then(function (result) {
      console.log('Notification 1 triggered');
    });
  };

花了好幾個小時討論這個問題之后,我看到上面的一條評論是非常正確的。

如果要更改圖標,則需要在“[my ionic app folder] \\ platforms \\ android \\ res \\ drawable”中創建一個名為“drawable”的文件夾。

但訣竅是:在此之后你需要退出livereload模式並再次執行CLI命令“ionic run android -l -c -s”。 這是必要的,因為您需要將新資產復制到設備。

我只測試了Android設備,如果你可以用iOS測試,請在這里發送評論。

根據論壇上的這篇文章 ,您只需設置通知的圖標smallIcon屬性即可。 你必須把文件放到/ platforms / android / res / drawable /文件夾中。 (還要注意圖標必須以'res:// somename'開頭)

注意:您應該替換ngCordova的通知處理功能,因為它們有問題。

在最新的ionic-cli 3

icon.png復制到以下文件夾中。

platforms/android/res/drawable/icon.png

請注意,這只是在android中。

完成后(確保圖像是透明圖標),

下一步是在notification.init函數中初始化此圖標。

現在,如果我們使用push plugin請執行以下操作:

const pushObj: PushObject = this.push.init({
                        android: {
                            senderID: "your_id",
                            icon: "icon",
                            forceShow: "true"
                        },
                        ios: {
                            alert: "true",
                            badge: "true",
                            sound: "true"
                        }
                    });

如您所見, 添加了圖標的名稱而不是擴展名。

完成此操作后,還要在服務器端代碼中包含相同的鍵值對,這會將通知推送到您的設備中。

一切都會好起來的。

暫無
暫無

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

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