posso registrare con successo la mia app per le notifiche push:RegisterForRemoteNotificationTypes provoca interfaccia utente per appendere
UIApplication.SharedApplication.RegisterForRemoteNotificationTypes(
UIRemoteNotificationType.Alert
| UIRemoteNotificationType.Badge
| UIRemoteNotificationType.Sound);
Ma ogni volta che esegue questo, la mia interfaccia utente si blocca per 2-3 secondi. Anche se l'ho già fatto all'inizio del ciclo di vita dell'app come consigliato (ad esempio, anche WillFinishLaunching
), la mia interfaccia utente si blocca ancora una volta il caricamento del mio primo ViewController.
Il mio primo pensiero è stato quello di eseguire la registrazione in un thread separato, ma MonoTouch impedisce questo:
// From MonoTouch.UIKit
public virtual void RegisterForRemoteNotificationTypes(UIRemoteNotificationType types)
{
UIApplication.EnsureUIThread();
mio pensiero successivo è stato ad almeno apparire una scatola UIAlertView
per permettere all'utente di sapere qualcosa sta succedendo, ma per qualche motivo non è stato visualizzato fino al dopo il la registrazione ha avuto luogo, con conseguente apertura UIAlertView
e chiusura immediata!
modalPopup = new UIAlertView("Working", "The application is loading...", null, null);
modalPopup.Show();
// It doesn't show here!
RegisterForRemoteNotificationTypes();
// It shows here!
modalPopup.DismissWithClickedButtonIndex(0, true);
come posso neanche
- Fermare la spinta di registrazione notifica da legare il mio thread UI
- coprire il congelamento UI?