В операторе while (true) я создаю намерение, которое будет запускать случай в onHandleIntent. Однако я не могу начать свое намерение, используя startService (i), не увеличивая класс Activity до моего класса LocationTracker. Когда я делаю LocationTracker extends Activity, я могу использовать startService (i), но приложение ломается и перестает работать. Я получаю сообщение об ошибке «Активность просочилась в Service Connection». Есть ли способ обойти это? Метод, который мне нужен, является частным в классе BackgroundService, и моя активность MainScreen extends использует тот же фрагмент кода для запуска служб. Является ли это тем, что одновременно выполняю два намерения, если это так, я могу вызвать частный метод в моем другом классе?Как реализовать startService (i) not on MainActivity
public class LocationTracker{
DSApi dsApi=new DSApi((ContextWrapper)mContext,null);
if(dsApi.initialize(AppSettings.IP_ADDRESS,AppSettings.PORT,false)) {
interv = (int)dsApi.sendLocationInfo(l);
if (dsApi.needRemoteWipe()) {
while(true){
Intent i = IntentFactory.getBackgroundService();
i.putExtra(BackgroundService.EXTRA_OPERATION,BackgroundService.OPERATION_BACKUP);
startService(i);
AppSettings.addEventLog(EventLog.TYPE_BACKUP, "Data backed up");
break;
}
AppSettings.setRemoteWipe(true);
}
}
Log.d("SendLocationTask", "finished");}