我可以在 Android Application 类中写一个线程吗?该线程每五分钟运行一次,以将数据发布到 Web 服务。
public class MyApplication extends Application {
@Override
public void onCreate() {
startUploadGPSTimer();
}
private void startUploadGPSTimer() {
gpsTimerHandler.postDelayed(runnable, 5* 60 * 1000); // start Timer
}
private Handler gpsTimerHandler = new Handler();
private Runnable runnable = new Runnable() {
public void run() {
Map<String, String> params = new HashMap<String, String>();
params.put("latitude", Global.CUR_LATITUDE);
params.put("longitude", Global.CUR_LONGITUDE);
WebServiceObj obj = new WebServiceObj("upload",
WebServiceMethod.METHOD_UPLOAD_GPS,
Utilly.getSoapParams(params));
SoapService service = null;
SoapObject result = null;
service = new SoapService(obj.tag);
result = service.LoadResult(obj);
Log.i("post webservrce ", result.toString());
gpsTimerHandler.postDelayed(this, 5 * 60 * 1000);
}
};
当我的应用程序进入后台时,这个线程就像不运行。由于我在线程中发布的数据最终输入到数据库,我在db中找不到它。
为什么?
我在将数据发布到 web 服务时写了一些日志。发现日志是随机生成的。很奇怪