Service永不kill掉

1、提升服务的优先级

Android AndroidManifest.xml 里面给服务增加优先级,通过content.StartService();方式启动服务。1000是最高值,如果数字越小则优先级越低

?<service android:name=".push.PushService" > 
    <intent-filter android:priority="1000"> 
          <action android:name="com.xsl.push" /> 
    </intent-filter> 
</service> 
?Intent intent = new Intent(); 
intent .setAction("com.xsl.push"); 
context.startService(intent ); 
 

2、在Android AndroidManifest.xml的application标签中添加android:persistent属性

?<application 
        android:icon="@drawable/app_default"
        android:label="@string/app_name"
        android:persistent="true" > 
        ........................................ 
</application> 
  切记,这个不可滥用,系统中用这个的service,app一多,整个系统就完蛋了

3、在Service的onDestroy()中重启Service.这种方式,用户在无法再设置-运行的服务中将此服务停止

?public void onDestroy() { 
    // TODO Auto-generated method stub 
    super.onDestroy(); 
          
    Intent localIntent = new Intent(); 
        localIntent.setClass(this, TestService.class);  //销毁时重新启动Service 
        this.startService(localIntent); 
} 

猜你喜欢

转载自xblia.iteye.com/blog/1837032