Java Android在后台工作
我有3个活动(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
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