创建一个即使活动完成也能保持活动的服务

时间:2014-01-29 12:04:16

标签: android service

我是Android新手,我不知道怎么做。 我需要在Android中做一个服务,即使活动结束也能保持活力。我这样做:

的活动:

package com.example.pruebaservice;



import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity implements OnClickListener {
    private Button telo;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        telo = (Button)findViewById(R.id.button1);
        telo.setOnClickListener(this);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        startService(new Intent(this, PruebaService.class));
    }

}

服务:

package com.example.pruebaservice;

import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;
import android.widget.Toast;

public class PruebaService extends Service {

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

    @Override
    public void onCreate() {
        super.onCreate();

        Toast.makeText(this, "Servicio creado", Toast.LENGTH_LONG).show();
        Log.d("SERVICEBOOT", "Servicio creado");
        prueba();
    }

    private void prueba() {
        // TODO Auto-generated method stub
        for(;;){
        Log.i("telo","motoor");
        }
    }

    @Override
    public void onDestroy() {
        super.onDestroy();

        Toast.makeText(this, "Servicio destruido", Toast.LENGTH_LONG).show();
        Log.d("SERVICEBOOT", "Servicio destruido");
    }
}

但是当活动暂停或破坏服务崩溃时。我怎么能这样做?

感谢

1 个答案:

答案 0 :(得分:0)

在您不打算卸载应用程序之前,服务永远不会被杀死。或以编程方式终止服务。 根据你的逻辑,你想要做什么特定的任务是连续的,因为当服务启动时,它会经历一次代码。 你必须保持计时器进行定期检查。请改进代码的逻辑。在后台检查你的功能