Попытка уведомить пользователя, когда он проходит по этому местоположению, используя оповещение о близости. Я назначил resultIntent Notification_Handler.class, который создает уведомление. Однако, когда пользователь находится рядом с этим местоположением, уведомление не нажато. Как нажать уведомление в этом случае?Как инициализировать уведомление в оповещении о близости
//This is android App
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_map);
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
// resize map
mapFragment = (SupportMapFragment) (getSupportFragmentManager()
.findFragmentById(R.id.map));
ViewGroup.LayoutParams params = mapFragment.getView().getLayoutParams();
params.height = 1400;
mapFragment.getView().setLayoutParams(params);
//Notify if user near a location
lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
Intent resultIntent = new Intent(this, Notification_Handler.class);
PendingIntent pendIntent = PendingIntent.getActivity(this, 0, resultIntent, PendingIntent.FLAG_UPDATE_CURRENT);
lm.addProximityAlert(21.422, 39.826, 5, -1, pendIntent);}
EDIT: это уведомление Обработчик класс
package app.historical_markers.historical_markers;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.NotificationCompat;
import android.support.v4.app.TaskStackBuilder;
import android.support.v7.app.ActionBarActivity;
import app.historical_markers.historical_markers.Not_Signed_In.KSA_Map;
public class Notification_Handler extends ActionBarActivity {
final int notificationID = 1234;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this);
mBuilder.setSmallIcon(R.drawable.icon2);
mBuilder.setContentTitle("Notification Alert!!!");
mBuilder.setContentText("Hi, You are near this Marker!");
Intent resultIntent = new Intent(this, KSA_Map.class);
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
stackBuilder.addParentStack(KSA_Map.class);
// Adds the Intent that starts the Activity to the top of the stack
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
mBuilder.setContentIntent(resultPendingIntent);
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
// notificationID allows you to update the notification later on.
mNotificationManager.notify(notificationID, mBuilder.build());
}}
Хорошо спасибо, я изменю радиус, но моя главная проблема заключается в том, как добавить уведомление в оповещение о близости, а не начать другое намерение? – showihd
Предупреждение о близости укажет только активность, которую вы указали, в этом случае Notification_Handler. Если вы хотите, чтобы уведомление появилось, вам нужно поместить код для его создания в Notification_Handler. Вы говорите, что действие выполняется, у вас есть код для публикации уведомления, но уведомление не появляется? Если это так, отправьте код в Notification_Handler, который генерирует уведомление. –
Я отредактировал вопрос и добавил класс обработчика уведомлений, есть ли что-то в этом плохого? – showihd