私のアプリケーションはACSプッシュ通知を使用しています。アプリケーションにアプリバッジを実装しました。ただし、問題は、プッシュ通知の受信中にappBadgeが自動的にインクリメントされないことです。私は自分のアプリで次のコードを使用しました
var deviceToken;
Titanium.Network.registerForPushNotifications({
types: [
Titanium.Network.NOTIFICATION_TYPE_BADGE,
Titanium.Network.NOTIFICATION_TYPE_ALERT,
Titanium.Network.NOTIFICATION_TYPE_SOUND
],
success:function(e)
{
deviceToken = e.deviceToken;
SubscribeToPush(channelName, deviceToken, type);
},
error:function(e)
{
alert("Error: "+ ((e.error && e.message) || JSON.stringify(e.error)));
},
callback:function(e)
{
var badgeCount = Ti.UI.iPhone.getAppBadge();
badgeCount = badgeCount + 1;
Ti.UI.iPhone.setAppBadge(badgeCount);
}
});
ここで、新しいプッシュ通知を受信したときに呼び出される「コールバック関数」を読みました。そこで、バッジをインクリメントするためのコールバックとして次のコードを設定しました。
callback:function(e)
{
var badgeCount = Ti.UI.iPhone.getAppBadge(); //Will return the app badges
badgeCount = badgeCount + 1; //Incrementing the appbadge
Ti.UI.iPhone.setAppBadge(badgeCount); //Setting new appbadge
}
アプリが開いている間は機能し、通知を受信するとコールバックが発生し、アプリがバックグラウンドに移行するとバッジが表示されます。ただし、アプリがバックグラウンドにあるとき、または終了したときにバッジ番号を増やしたいのですが。誰かがこの問題を解決するのを手伝ってもらえますか?