【发布时间】:2015-05-20 02:54:36
【问题描述】:
在 while(true) 语句中,我创建了一个意图,它将在 onHandleIntent 中运行一个案例。但是,如果不将 Activity 类扩展到我的 LocationTracker 类,我无法使用 startService(i) 启动意图。当我做 LocationTracker extends Activity 时,我可以使用 startService(i) 但应用程序中断并停止工作。我收到错误“活动已泄漏服务连接”。有没有办法解决这个问题?我需要的方法在 BackgroundService 类中是私有的,我的 MainScreen 扩展活动使用相同的 sn-p 代码来启动服务。是我同时运行两个意图吗,如果是的话,有没有办法在我的另一个类中调用私有方法?
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");}
【问题讨论】:
标签: java android android-intent