2013-08-05 5 views
3

J'ai trouvé une chaîne de méthodes dans une application Android où RunOnUiThread est utilisé pour appeler d'autres méthodes qui enveloppent également leur contenu dans RunOnUiThread. Je voudrais faire cuire dans l'hypothèse que la méthode sera appelée seulement d'une autre méthode qui a déjà acquis le fil de l'interface utilisateur et lancer une exception lorsque cette condition n'est pas remplie. Xamarin.iOS expose UIApplication.EnsureUIThread, qui gère cela bien.EnsureEURhread équivalent dans Xamarin.Android (Mono pour Android)?

Y at-il un équivalent à Xamarin.iOS (MonoTouch) UIApplication.EnsureUIThread dans Xamarin.Android avec un comportement similaire?

Répondre

1

Je trouve sur la Xamarin Forum un poste de Jonathan Pryor qui dit la propriété suivante:

SynchronizationContext.Current 

est que non nul sur le thread d'interface utilisateur. Ainsi, vous pouvez écrire une méthode personnalisée qui peut vérifier cette propriété pour null. Ensuite, lancez une exception comme souhaité.