Próbuję utworzyć wiele alertów zbliżeniowych, ale nie mogę go uruchomić ...Czy stacja radiowa może odbierać wiele programów?
Myślę, że nadajnik zostanie nadpisany, a tym samym obsługuje tylko ostatnią transmisję. Więc gdybym miał dwa punkty w pobliżu tylko ten, którego cel został utworzony jako ostatni, wygeneruje alert ...
Czytałem, że powinienem używać kodów żądań, ale nie mam pojęcia, jak to zrobić ...
Moja metoda konfigurowania oczekujących zamiarów i odbiornik broadcast ...
private void addProximityAlert(double latitude, double longitude, String poiName, String intentfilter) {
Bundle extras = new Bundle();
extras.putString("name", poiName);
Intent intent = new Intent(PROX_ALERT_INTENT+poiName);
intent.putExtras(extras);
PendingIntent proximityIntent = PendingIntent.getBroadcast(MainMenu.this, requestCode, intent, 0);
locationManager.addProximityAlert(
latitude, // the latitude of the central point of the alert region
longitude, // the longitude of the central point of the alert region
POINT_RADIUS, // the radius of the central point of the alert region, in meters
PROX_ALERT_EXPIRATION, // time for this proximity alert, in milliseconds, or -1 to indicate no expiration
proximityIntent // will be used to generate an Intent to fire when entry to or exit from the alert region is detected
);
requestCode++;
IntentFilter filter = new IntentFilter(intentfilter);
registerReceiver(new ProximityIntentReceiver(), filter);
}
Moja klasa broadcastreceiver
public class ProximityIntentReceiver extends BroadcastReceiver {
private static final int NOTIFICATION_ID = 1000;
@Override
public void onReceive(Context context, Intent intent) {
String key = LocationManager.KEY_PROXIMITY_ENTERING;
Boolean entering = intent.getBooleanExtra(key, false);
if (entering) {
Log.d(getClass().getSimpleName(), "entering");
}
else {
Log.d(getClass().getSimpleName(), "exiting");
}
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, null, 0);
Notification notification = createNotification();
notification.setLatestEventInfo(context,
"Proximity Alert!", "You are approaching: " +intent.getExtras().get("name"), pendingIntent);
//here-------------------------------------
notificationManager.notify(NOTIFICATION_ID, notification);
}
private Notification createNotification() {
Notification notification = new Notification();
notification.icon = R.drawable.androidmarker;
notification.when = System.currentTimeMillis();
notification.flags |= Notification.FLAG_AUTO_CANCEL;
notification.flags |= Notification.FLAG_SHOW_LIGHTS;
notification.flags |= Notification.FLAG_INSISTENT;
notification.defaults |= Notification.DEFAULT_VIBRATE;
notification.defaults |= Notification.DEFAULT_LIGHTS;
notification.defaults |= Notification.DEFAULT_SOUND;
notification.ledARGB = Color.WHITE;
notification.ledOnMS = 300;
notification.ledOffMS = 1500;
return notification;
}
}
Czy możesz mi pomóc ??? Naprawdę utknąłem z tego ...
Każda pomoc byłaby naprawdę doceniana !!!
Wystarczy pozwolić wszyscy wiecie, że napisałem aktualizację mojego oryginalnego kodu który zawiera pełny przykład na GitHub: http: //www.gauntface.co.uk/pages/blog/2010/12/28/how-to-multiple-proximity-alerts-in-android/ –
Jak usunąć swoje ostrzeżenia? Mój wciąż się buduje. :( – deucalion0
Minęło już trochę czasu i naprawdę nie pamiętam, co zrobiłem, przepraszam – mixkat