Java Android在后台工作

Java Android在后台工作,java,android,Java,Android,我有3个活动(A,B,C)和一个服务,我打电话来检查是否从DB收到了新消息。这是一个HTTP请求。我需要每15秒提出一次请求 Thread t = new Thread() { @Override public void run() { try { while (!isInterrupted()) { Thread.sleep

我有3个活动(
A
B
C
)和一个服务,我打电话来检查是否从DB收到了新消息。这是一个HTTP请求。我需要每15秒提出一次请求

 Thread t = new Thread() {

            @Override
            public void run() {
                try {
                    while (!isInterrupted()) {
                        Thread.sleep(15000);
                        runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                // Here i call                               
                            }
                        });
                    }
                } catch (InterruptedException e) {
                }
            }
        };

        t.start();

当我改变活动时,如何使其工作

> P>选项:考虑将设置更改为三个片段作为原始活动,以及控制对DB的重复轮询的主活动,以及控制片段。
@SuppressLint("SimpleDateFormat")
public class AlarmService extends Service {

    private PendingIntent pendingIntent;
    Handler mHandler;
    @Override
    public IBinder onBind(Intent arg0) {
        return null;
    }
    @Override
    public void onCreate() {
    }

    public void f() {
        Toast t = Toast.makeText(this, "Service is still running",
                Toast.LENGTH_SHORT);
        t.show();
  };
}
    @Override
    @Deprecated
    public void onStart(Intent intent, int startId) {
        Toast t = Toast.makeText(this, "Service started", Toast.LENGTH_SHORT);
        t.show();

        // TODO Auto-generated method stub
        super.onStart(intent, startId);

        mHandler = new Handler();
        Runnable r = new Runnable() {
            @Override
            public void run() {
                f();
                mHandler.postDelayed(this, 20000);
            }
        };
        mHandler.postDelayed(r, 20000);

    }

}
在清单中使用这个

<service android:name="com.example.yourservice"></service>


我想您正在寻找服务。这里有一个创建一个的指南:您有3个选项可以让它在后台独立工作:
Service
IntentService
AlarmManager