我们是否需要多个意图过滤器来进行多次接近警报?

时间:2015-12-10 12:35:58

标签: android android-pendingintent intentfilter proximity

我正在创建一个处理多个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>

0 个答案:

没有答案