12

Merhaba Etkinliğim için bir bildirim görüntülendim ve kullanıcı uygulama yeniden başlatıldığında bildirimi tıklattı. Ancak sadece yeniden başlamamasını istiyorum. Örneğin. Bu bir web uygulaması ve kullanıcı bildirimi seçtiğinde ön tarafa gelmesini istiyorum ... ama web sayfasını yenilemeyin. Bu amacı yakalayabilir miyim yoksa yanlış niyetimi mi gönderiyorum? Normalde, ev düğmesine bastığımda ve uygulama simgesini tıklarsanız, uygulama ön plana gelir ve yeniden başlatılmaz/yeniden başlatılmaz. Yani bu istediğim davranış. Herhangi bir fikir ?Android Bildirimi uygulamasına yeniden başlıyor ama devam etmek istiyor

String ns = Context.NOTIFICATION_SERVICE; 
NotificationManager mNotificationManager = (NotificationManager) 
              getSystemService(ns); 
//2.Instantiate the Notification 
int icon = R.drawable.notification_icon; 
CharSequence tickerText = "My App"; // temp msg on status line 
long when = System.currentTimeMillis(); 
Notification notification = new Notification(icon, tickerText, when); 
notification.flags |= Notification.FLAG_ONGOING_EVENT; 
//3.Define the Notification's expanded message and Intent: 
Context context = getApplicationContext(); 
CharSequence contentTitle = "Notification"; 
CharSequence contentText = "My app!"; // message to user 
Intent notificationIntent = new Intent(this, HelloAndroid2.class); 
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, 
                  notificationIntent, 0); 
notification.setLatestEventInfo(context, contentTitle, contentText, 
                  contentIntent); 
//4.Pass the Notification to the NotificationManager: 
final int NOTIFICATION_ICON_ID = 1; 
mNotificationManager.notify(NOTIFICATION_ICON_ID, notification); 

cevap

22

Ben Bu sorunu giderildi apaçık

android:launchMode="singleInstance" 

bu koymak (belge istediğiniz tam olarak ne açıklar) benim için. Ayrıca, diğer ilgi alanlarına hitap eden denemediğim this answer.

+0

Mükemmel cevap! –

4

Bu FLAG_ACTIVITY_REORDER_TO_FRONT deneyebilirsiniz

http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_REORDER_TO_FRONT

Intent notificationIntent = new Intent(this, HelloAndroid2.class); 
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); 
+2

Merhaba Yanıtladığınız için teşekkürler, bunu benim için sorunu çözdüm android: launchMode = "singleInstance" da bu yanıtlar diğer ilgi alanlarına da hitap ediyor .. http://stackoverflow.com/questions/4047683/android-how- bir özgeçmiş-bir-app-from-a-bildirim ve http://stackoverflow.com/questions/4047683/android-how-to-resume-an-app-from-a-notification – ozmike

7

aşağıdaki gibi "SingleInstance", daha sonra Bildirimin niyet ayarlamak için etkinlik için hazırlanırken önlemek için varsa:

notificationIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); 
+0

Bu benim için çalışıyor, teşekkürler m8;) – pkdkk

0

Bu özel durum için bayrak Intent.FLAG_ACTIVITY_SINGLE_TOP ayarlamak için öneriyoruz kullanırsanız, android: launchMode = "SingleInstance" Eğer, örneğin facebook sdk kullanarak, uygulamanızda diğer amaçları çağırdığınızda onu davranışını etkileyecek paypal sdk vs ..

açıklama burada basit: link

+0

FLAG_ACTIVITY_SINGLE_TOP zaten bir cevap olarak listeleniyor - teşekkürler hepinize. – ozmike