当我关闭应用程序时,android服务停止并再次创建

时间:2013-01-09 10:24:34

标签: android service oncreate

我正在开发一个应用程序,我已经实现了该服务。但是当我从我的应用程序退出时,服务停止(但永远不会调用onDestroy()),然后再次启动(OnCreate()被调用)。

实际上,无论申请状态如何,我都不想在创建服务后停止服务。 当服务onCreate()再次被调用时,服务会丢失之前处理过的数据。我尝试了START_STICKY但没有运气。

那么,我如何让我的服务继续运行?

这是我的服务代码,

public class ddservice extends Service{

public void onCreate() {
    super.onCreate();
    Log.e("dservice", "onCreate");
                  /*here i am processing some important data in
                background thread*/  
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        Log.e("ddservice", "onDestroy");

    }

    @Override
    public void onStart(Intent intent, int startid) {
        super.onStart(intent, startid);
        Log.e("ddservice", "onStart");

    }

    public int onStartCommand(Intent intent, int flags, int startId) {
        super.onStartCommand(intent, flags, startId);
        Log.e("ddservice", "onStartCommand");

        return START_STICKY;
    }   


    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }   


}//service class ends here

我正在从mainActivity启动此服务,

startService(new Intent(this, ddservice.class));

1 个答案:

答案 0 :(得分:0)

您应该将服务作为前景Service.startForeground(int, Notification)

开始