1

[解決済み]

解決策を探していたときに、ひらめきました。Cordova が更新されたことを確認すると、PushPlugin も更新されました。私が使用していたバージョンでは、質問に貼り付けた切り取りが存在しませんでした。

Cordova とプラグインを更新しました... バックエンドからの 'notId' フィールドを使用して正常に動作するようになりました! ;)

さらなる読者のために、以下に質問を残します!

よろしく、

リック


Cordova/PhoneGap でモバイル アプリケーションを開発しています。PushPlugin ( https://github.com/phonegap-build/PushPlugin ) を使用して、プッシュ通知メカニズムを実装しています。

デバイスに複数のプッシュを送信すると、Android デバイスではそのうちの 1 つしか表示されません。iOS デバイスでは、ロック画面にすべてのプッシュ通知が表示されます。

Android で複数の通知を表示するにはどうすればよいですか? プラグインのドキュメント内を検索したところ、「onMessage」メソッド内に次のスニペットが見つかりました。

[...]
int notId = 0;

try {
    notId = Integer.parseInt(extras.getString("notId"));
}
catch(NumberFormatException e) {
    Log.e(TAG, "Number format exception - Error parsing Notification ID: " + e.getMessage());
}
catch(Exception e) {
    Log.e(TAG, "Number format exception - Error parsing Notification ID" + e.getMessage());
}

mNotificationManager.notify((String) appName, notId, mBuilder.build());
[...]

バックエンドで別の「notId」フィールドを設定しようとしましたが、うまくいかないようです...

他のアイデアはありますか?

助けてくれてありがとう、リク。

4

3 に答える 3

0
Use this :
    notificationManager.notify((String)appName,(int) Calendar.getInstance()
                .getTimeInMillis(), mBuider.build()); //What you are doing wrong is setting each notification same id so they are replacing one another and this code create new id by time , so you can see multiple notification on the screen 
于 2014-10-07T10:37:04.887 に答える
0

notId に乱数を使用すると、次のように機能します。

   Random rnd = new Random();  
   int notId = rnd.nextInt(100);  

それ以外の :

    int notId = 0;
于 2015-01-05T11:50:09.183 に答える
0

通知IDを変更する必要があります。これは、RAMDOM数の概念を使用する必要があるという解決策ではないためです。

Random random = new Random();
int randomNumber = random.nextInt(9999 - 1000) + 1000;
notificationManager.notify(randomNumber, notification);
于 2016-04-06T06:11:02.623 に答える