こんにちは皆さん!
この問題は数日間にわたり悩まされており、私は解決策を思いつくことができません。
私は、Titaniumを使ってAndroidで1回のスケジュール通知を行う方法を知っています。
複数のスケジュール通知が必要な場合は、問題が表示されます。
2番目の通知を発射しようとしたとき、まだスケジュールされていた最初の通知がすぐにポップアップします。
2番目の通知は一度も実行されませんでした。
AndroidでTitaniumを使用して複数の予定された通知を作成する方法があるかどうか、または私が今使っているよりも予定された通知を実装する方法があるかどうか本当に知りたいです。approiderチタン付きアンドロイドの複数のスケジュールアンドロイド通知
ありがとうございます!
ここにあるコードを使用してimplementaionを作成します。
https://github.com/appcelerator-developer-relations/Forging-Titanium/tree/master/ep-013/notify
これは、通知用のサービスを作成するために使用する機能です。
var notifyId=0;
var notify=function(message,interval){
var intent = Ti.Android.createServiceIntent({
url : 'NotificationService.js'
});
intent.putExtra('message', message || 'You have a notification!');
intent.putExtra('notifyId',notifyId+'');
notifyId++;
if (interval) {
intent.putExtra('interval', interval);
}
Ti.Android.startService(intent);
}
これは、私のNotificationService.jsファイルのコードです。
var NOTIFICATION_PROPERTY = 'notificationCount';
var service = Ti.Android.currentService;//maybe problem is here
var serviceIntent = service.getIntent();
var serviceMessage = serviceIntent.hasExtra('message') ? serviceIntent.getStringExtra('message') : 'you have a notification!';
var notifyId=serviceIntent.hasExtra('notifyId')?serviceIntent.getStringExtra('notifyId'):'1';
if (serviceIntent.hasExtra('interval') && !Ti.App.Properties.hasProperty('notificationCount')) {
Ti.App.Properties.setInt(NOTIFICATION_PROPERTY,0);
} else{
if (Ti.App.Properties.hasProperty(NOTIFICATION_PROPERTY)) {
Ti.App.Properties.removeProperty(NOTIFICATION_PROPERTY);
}
var activity = Ti.Android.currentActivity;
var intent = Ti.Android.createIntent({
action : Ti.Android.ACTION_MAIN,
className:'com.fishtruck.Activity',
flags : Ti.Android.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED | Ti.Android.FLAG_ACTIVITY_SINGLE_TOP
});
intent.addCategory(Titanium.Android.CATEGORY_LAUNCHER);
var pending = Ti.Android.createPendingIntent({
activity : activity,
intent : intent,
type : Ti.Android.PENDING_INTENT_FOR_ACTIVITY,
flags : Ti.Android.FLAG_ACTIVITY_NO_HISTORY
});
var notification = Ti.Android.createNotification({
contentIntent : pending,
contentTitle : 'test',
contentText : serviceMessage,
tickerText : serviceMessage,
when : new Date().getTime(),
icon : Ti.App.Android.R.drawable.appicon,
flags : Titanium.Android.ACTION_DEFAULT | Titanium.Android.FLAG_AUTO_CANCEL | Titanium.Android.FLAG_SHOW_LIGHTS
});
Ti.Android.NotificationManager.notify(parseInt(notifyId), notification);
Ti.Android.stopService(serviceIntent);
}