Android后台服务

时间:2015-06-02 10:08:14

标签: javascript android titanium background-service titanium-android

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

我使用了需要在Titanium Android应用程序中插入的每个代码。

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



<services>
    <service url='BGServ.js' type="interval"/>
</services>
&#13;
&#13;
&#13;

此处&#34; BGServ.js &#34;文件放在我的 app / lib 文件夹中。

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

&#13;
&#13;
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);
}); 
&#13;
&#13;
&#13;

在index.js文件中:这里我们创建Service Intent

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

问题:Android服务无法在我的项目中运行。在具有Ti.API.info()的BGServ.js中也没有在控制台中打印。我在这里帮助我。

TiSDK版本:3.5.0 GA

谢谢,

Abidhusain

1 个答案:

答案 0 :(得分:0)

在Titanium Appcelerator中找到适用于Android的后台服务解决方案

  

在TiApp.xml文件中:

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

注意,在url属性中,无需在文件名之前添加“\”

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

  

在“ bg_service.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.xml文件中:这里我们创建意图并启动后台服务

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

如果有人发现任何其他解决方案,请在此重播。

谢谢,

<强> Abidhusain