基于时间的通知

时间:2016-02-08 11:34:01

标签: notifications appcelerator appcelerator-titanium

我正在构建一个需要向用户发送基于时间的通知的应用。

我正在使用Notification Manager模块和后台服务并推送通知。只要应用程序在后台打开或可访问,这样就可以正常工作。

关闭应用后,通知就不会响起。即使我的应用已关闭并继续发送通知,我如何确保我的服务正在运行?

1 个答案:

答案 0 :(得分:1)

使用 Titanium.Android.startService 启动服务 例如,

app.js

var intent = Titanium.Android.createServiceIntent({
    url: 'myservice.js'
});
intent.putExtra('interval', 10000); // Service should run its code every 2 seconds.
intent.putExtra(Titanium.Android.EXTRA_DONT_KILL_APP, true);
Titanium.Android.startService(intent);

myservice.js

var intent = Ti.Android.createIntent({
   action: Ti.Android.ACTION_MAIN,
   className: 'com.testApp.TestappActivity',
   packageName: 'com.testApp'
});

intent.addCategory(Ti.Android.CATEGORY_LAUNCHER);

var pending = Titanium.Android.createPendingIntent({
   intent: intent,
   flags: Titanium.Android.FLAG_UPDATE_CURRENT
});

var notification = Titanium.Android.createNotification({
   contentTitle: 'Something Happened',
   contentText: 'Click to return to the application.',
   contentIntent: pending
});

Titanium.Android.NotificationManager.notify(1, notification);

还要为tiapp.xml添加服务,

<android xmlns:android="http://schemas.android.com/apk/res/android">
    <services>
        <service url="myservice.js" type="interval" />
    </services>
</android>