0

我正在使用 Arraylist 来存储用户选择的警报位置,并通过广播公司将这些“位置”与用户在我的服务中的当前位置进行比较。

在强制使应用程序崩溃时,我能够重新启动服务,但为比较而创建的 Arraylist 中的数据消失了,因此服务无法找到预先存在的数据。

我不知道我错过了什么?这是我用于将位置和 requestID 保存在 ArrayList 中的方法。

private void addProximityAlert(double latitude, double longitude,int requestID) {
     Location alertLoc=new Location("C");
     IntentFilter filter = new IntentFilter(proximitysd);
     registerReceiver(mybroadcast, filter);
     Intent intent = new Intent(proximitysd); 
     //Saving requestID in an array  
     requestNo.add(Integer.valueOf(requestID)); 
     alertLoc.setLatitude(latitude);
     alertLoc.setLongitude(longitude);
     //Saving alertLoc in an array
     proximitylocation.add(alertLoc);   
     PendingIntent proximityIntent = PendingIntent.getBroadcast(this,     requestID, intent, PendingIntent.FLAG_CANCEL_CURRENT);
     Log.v("add Proximity ","Pendingintentcreated");
}

ps 我不打算使用 locationmanager.addproximityalert。

4

1 回答 1

0

当您的应用强制关闭时,您可以使用共享首选项来保存数据。是一个很好的教程。

于 2013-06-07T12:23:24.263 回答