0

Ich habe eine Aktivität, die eine Download-Funktion ausführt. Die Aktivität öffnet einen Fortschrittsdialog und deaktiviert die Benutzerinteraktion beim Herunterladen sowie einen Benachrichtigungsfortschritt.So können Sie frühere Aktivitätsaktionen bei Benachrichtigung wiederherstellen Klicken Sie auf

Ich möchte, dass der Benutzer in der Lage ist, auf die Benachrichtigung zu klicken und den Benutzer zu der Aktivität zurückzuschicken, die den Fortschritt und die deaktivierte Benutzerinteraktion anzeigt (was passiert, wenn der Benutzer zum Startbildschirm geht und dann wieder öffnet) App).

Meine aktuellen Versuche scheinen die Aktivität neu zu starten, Download noch immer, aber Dialog ist weg und Benutzerinteraktion ist deaktiviert. Wie kann ich das beheben?

Meine Ansätze:

gesetzt Absicht Aktion

private static void buildNotification() 
{ 
    //create intent for onClick 
    Intent resultIntent = new Intent(activity, activity.GetType()); 
    resultIntent.SetAction(Intent.ActionMain); 
    resultIntent.AddCategory(Intent.CategoryLauncher); 
    PendingIntent resultPendingIntent = PendingIntent.GetActivity(activity, 0, resultIntent, PendingIntentFlags.UpdateCurrent); 

    //set builder 

    builder.SetContentIntent(resultPendingIntent); 
    notificationManager = activity.GetSystemService(Context.NotificationService) as NotificationManager; 
} 

gesetzt Absicht Flaggen

private static void buildNotification() 
{ 
    //create intent for onClick 
    Intent resultIntent = new Intent(activity, activity.GetType()); 
    resultIntent.SetFlags(ActivityFlags.SingleTop | ActivityFlags.ClearTop); 
    PendingIntent resultPendingIntent = PendingIntent.GetActivity(activity, 0, resultIntent, PendingIntentFlags.UpdateCurrent); 

    //set builder 

    builder.SetContentIntent(resultPendingIntent); 
    notificationManager = activity.GetSystemService(Context.NotificationService) as NotificationManager; 
} 

Antwort

1

landete ich gerade SingleTop Flagge auf der Absicht, das Aufstellen. Hoffentlich hilft dies jemand:

private static void buildNotification() 
{ 
     //create intent for onClick 
    Intent resultIntent = new Intent(activity, activity.GetType()); 
    resultIntent.SetFlags(ActivityFlags.SingleTop); 
    PendingIntent resultPendingIntent = PendingIntent.GetActivity(activity, 0, resultIntent, PendingIntentFlags.UpdateCurrent); 

    //set builder 

    builder.SetContentIntent(resultPendingIntent); 
    notificationManager = activity.GetSystemService(Context.NotificationService) as NotificationManager; 
} 

Durch die Art, wie ich bin mit Xamarin.Android