我正在使用 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。