我正在创建一个处理多个Proximity Alerts
的应用。
我正在从数据库添加位置详细信息。
我的疑问是我们必须为每个警报创建多个IntentFilter,或者它足以为每个警报提供不同的请求代码。
我在Manifest.xml中注册了BroadcastReceiver
。
我的代码是
while (!cursor.isAfterLast()) {
String _id=cursor.getString(cursor.getColumnIndex("_id"));
String strLat = cursor.getString(cursor.getColumnIndex("latitude"));
String strLng = cursor.getString(cursor.getColumnIndex("longitude"));
String strStopName = cursor.getString(cursor.getColumnIndex("Stop_Name"));
float strRadius = cursor.getFloat(cursor.getColumnIndex("radius"));
String mobileNo = cursor.getString(cursor.getColumnIndex("Phone_NO"));
double dLat = Double.parseDouble(strLat);
double dLng = Double.parseDouble(strLng);
if (strRadius==0.0){
radius=150;
}else {
radius=strRadius;
}
Intent i = new Intent(PROX_ALERT_INTENT);
i.putExtra("phone", mobileNo);
i.putExtra("stopName", strStopName);
sendBroadcast(i);
PendingIntent pi=PendingIntent.getBroadcast(MainPage.this,Integer.parseInt(_id),i,PendingIntent.FLAG_UPDATE_CURRENT);
locMan.addProximityAlert(dLat, dLng, radius, -1, pi);
ContentValues cv=new ContentValues();
cv.put("alert_flag","1");
String where="_id='"+_id+"' AND alert_flag='0'";
try{
db.update("latLngTable",cv,where,null);
}catch (SQLiteException e){
Log.e("latLnglog",e.toString());
}
cursor.moveToNext();
export();
}
清单是
<receiver android:name=".ProximityIntentReceiver">
<intent-filter>
<action android:name="com.realtech.latlngrecorder"/>
</intent-filter>
</receiver>