我是新手安卓开发者,请多关照。
我有一个TimerTask,我在Service中定义了run()。在run()内部,我调用了
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
LOCATION_UPDATES_MIN_TIME_MS, LOCATION_UPDATES_MIN_DISTANCE_M, gpsListener);
它抱怨无法创建处理程序,因为我认为它是一个后台线程。我该如何解决?
编辑:代码片段
locationTask = new TimerTask() {
@Override
public void run() {
Log.d(Commands.TAG, "Running location Task");
myLocationProvider = new MyLocationProvider(locationManager, handler, MyService.this);
myLocationProvider.start();
myLocationProvider.stop();
}
};
然后按以下方式安排:
locationTimer = new Timer();
locationTimer.schedule(locationTask, 10000, cmds.getAlertInterval()*60);
当调用.start方法时,requestLocationUpdates()会失败。