Android 后台服务

Android Background Service

我想在我的 Titanium 应用程序中使用后台服务。

我使用了所有需要插入 Titanium Android 应用程序的代码。

在 TiApp.xml 文件中:在此处注册服务

<services>
    <service url='BGServ.js' type="interval"/>
</services>

此处“BGServ.js”文件放在我的app/lib文件夹中


在BGServ.js文件中:我们的服务文件代码

var service = Titanium.Android.currentService;
var intent = service.intent;
Ti.API.info('Background Service Started');
Ti.API.info('Background Service of Platform : ' + Titanium.Platform.osname + ' Started');

service.addEventListener('resume', function(e) {
 Titanium.API.info('Service code resumes, iteration ' + e.iteration);
});

service.addEventListener('pause', function(e) {
 Titanium.API.info('Service code pauses, iteration ' + e.iteration);
}); 


在 index.js 文件中:我们在这里创建服务意图

var intent = Titanium.Android.createServiceIntent({
 url : '/BGServ.js'
});
intent.putExtra('interval', 1000);
intent.putExtra('message_to_echo', 'Test Service');
Titanium.Android.startService(intent);


问题:Android 服务在我的项目中不起作用。在 BGServ.js 中有一个 Ti.API.info() 也没有在控制台中打印。我在这里帮助我。

TiSDK 版本:3.5.0 正式发布

谢谢,

阿比杜赛因

在Titanium Appcelerator

中找到Android的后台服务解决方案

In TiApp.xml file :

<services>
  <service type="interval" url="bg_service.js"/>
</services>

注意这里url属性不需要在文件名前加"\".

并且还将后台服务文件仅放在应用程序的“assets”文件夹中。

In "bg_service.js" file : Our Service file code

var service = Titanium.Android.currentService;
var intent = service.intent;
Ti.API.info('Background Service Started');
Ti.API.info('Background Service of Platform : ' + Titanium.Platform.osname + ' Started');

service.addEventListener('resume', function(e) {
 Titanium.API.info('Service code resumes, iteration ' + e.iteration);
});

service.addEventListener('pause', function(e) {
 Titanium.API.info('Service code pauses, iteration ' + e.iteration);
}); 

In Index.xml file : Here we creating intent and start background Service

var intent = Titanium.Android.createServiceIntent({
  url : 'bg_service.js'
});
intent.putExtra('interval', BG_INTERVAL_SECONDS);

Titanium.Android.startService(intent);

注意这里url属性不需要在文件名前加"\".

Issue Resolved by above code and also take care of **"\"** in url attribute

如果有人找到任何其他解决方案,请在此处重播。

谢谢,

阿比杜赛因