0

Yakın zamanda Android uygulamasında Bildirimler üzerinde çalışıyorum. Bildirim Düğmesinin Onclick Bir bölümünü açma

benim Uygulama bazı parçalarıyla sadece 1 aktiviteye sahip olduğundan

..

Yani, bir yöntem, bir Fragment açın ve çağrı böylece Bildirimine Dair Button benim birini işlemek için (ya da bir çağırabilir tüm kod parçası) Bu süresince

bir bildirim bina ve çalışma düğmesiyle Ama düğmesi yalnızca İşte herhangi bir faaliyet

açmaya ele alınabilmesini bir sınırlama da başarılı olduğumu açılması dahil içeren yöntem Bildirim kodum, lütfen bir göz atın ve .. ben mi çekeyim nasıl bir işlev stopride çağırmalıdır Bildirimi (DUR RIDE) benim 2 Eylem Kulp zorunda

public int getNotification(View view, String Data) { 

    // NotificationManager notificationManager = (NotificationManager) getActivity().getSystemService(Context.NOTIFICATION_SERVICE); 
    Context context = view.getContext(); 
    Intent intent = new Intent(context.getApplicationContext(), MapsActivity.class); 
    intent.putExtra("Notification","1"); 
    PendingIntent pendingIntent = PendingIntent.getActivity(context.getApplicationContext(), 0, intent, 0); 
    NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); 
    Uri soundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); 

    //Intent for "Navigate" Button on Notification 
    String lat = String.valueOf(dest.latitude); 
    String lon = String.valueOf(dest.longitude); 
    String format = "geo:0,0?q=" + lat + "," + lon + "Destination Point"; 
    Uri uri = Uri.parse(format); 
    Intent intentNavigate = new Intent(Intent.ACTION_VIEW, uri); 
    PendingIntent pIntentNavigate = PendingIntent.getActivity(context.getApplicationContext(), 0, intentNavigate, 0); 

    if (Build.VERSION.SDK_INT < 16) { 
     getToast("API below 16 ...notification not supported"); 

    } else { 
     //Bitmap icon = BitmapFactory.decodeResource(context.getResources(), R.drawable.ic_car); 
     Notification.Builder builder = new Notification.Builder(context); 
     //builder.setLargeIcon(icon); 
     builder.setSmallIcon(R.drawable.icar); 
     builder.setContentTitle("Car Rental Application"); 
     builder.setContentText(Data); 
     builder.setOngoing(true); 
     builder.setSound(soundUri); 
     builder.setContentIntent(pendingIntent); 
     builder.addAction(R.drawable.ic_gps, "NAVIGATE ", pIntentNavigate); 
     builder.addAction(R.drawable.ic_stop, "STOP RIDE", pendingIntent); 
     Notification notify = builder.build(); 

     notificationManager.notify(notificationID, notify); 

    } 

    return notificationID; 
} 

public void removeNotification() { 
    NotificationManager manager = (NotificationManager) getActivity().getSystemService(Context.NOTIFICATION_SERVICE); 
    manager.cancel(
      notificationID); 
    getToast("Notification Removed"); 
} 

önermek Lütfen() (eğer başka ref isteyiniz. bana benim için mümkün kılan yardım edin) gerekli .. Eğer bu niyetle "DUR RIDE" eylemi MapsActivity çağırmak çalışıyoruz Şimdi MapsActivity yılında getIntent() adresinin değerlerini almak gerekir

cevap

0

peşin Teşekkür -

 Intent intent = new Intent(context.getApplicationContext(), MapsActivity.class); 
     intent.putExtra("Notification","1"); 
    PendingIntent pendingIntent = PendingIntent.getActivity(context.getApplicationContext(), 0, intent, 0); 

aynı anahtar "Bilgilendirme" kullanabilir veya böyle bir daha bayrak ekleyebilirsiniz -

intent.putExtra("key_stop",true); 

yılındazaman bayrağı kontrol ederek fragman örneğini - bu yardımcı olur

boolean stopFlag = getIntent().getBooleanExtra("key_stop",false); 

    if(stopFlag){ 
     //Launch your fragment 
    } 

Umut !!

İlgili konular