Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1904, comments - 2047, trackbacks - 352

My Links

News

Your host

This is me! Questo spazio è dedicato a Microsoft® .NET®, di cui sono molto appassionato :-)

Cookie e Privacy

Disabilita cookie ShinyStat

Microsoft MVP

My MVP Profile

Microsoft Certified Professional

Microsoft Specialist

Xamarin Certified Mobile Developer

Il mio libro su VB 2015!

Pre-ordina il mio libro su VB 2015 Pre-ordina il mio libro "Visual Basic 2015 Unleashed". Clicca sulla copertina per informazioni!

Il mio libro su WPF 4.5.1!

Clicca sulla copertina per informazioni! E' uscito il mio libro "Programmare con WPF 4.5.1". Clicca sulla copertina per informazioni!

These postings are provided 'AS IS' for entertainment purposes only with absolutely no warranty expressed or implied and confer no rights.
If you're not an Italian user, please visit my English blog

Le vostre visite

I'm a VB!

Guarda la mia intervista a Seattle

Follow me on Twitter!

Altri spazi

GitHub
I miei progetti open-source su GitHub

Article Categories

Archives

Post Categories

Image Galleries

Privacy Policy

Xamarin, Android e i crash in chiusura

Può succedere che un'app Android scritta con Xamarin.Forms vada in crash quando, dalla pagina principale, si preme il back button e si porta l'app alla chiusura.

Il problema si rileva tipicamente quando la pagina principale è una MasterDetailPage. Il punto è che, non solo si tratta di un bug noto da parecchio tempo, i pacchetti NuGet in pre-release di Xamarin.Forms non hanno ancora risolto il problema.

Gli workaround possono essere di tanti tipi, a seconda dello scenario. Per esempio si può forzare l'apertura di una pagina nell'override di OnBackButtonPressed.

Nel caso in cui, invece, non si voglia far niente se non evitare un fastidioso messaggio all'utente, si può andare nel file MainActivity.cs del progetto Android e fare l'override di OnDestroy in questo modo:

protected override void OnDestroy() 
{    
try
   
{        
base
.OnDestroy();    
}    
catch
 (Exception ex)    
{    
}
}

OnDestroy viene chiamato quando l'activity dev'essere distrutta e, se siete curiosi e vi aiutate col debugger, scoprirete che qui si va in eccezione perché l'activity risulta già distrutta e inaccessibile.

Non è la soluzione più elegante, ma funziona con poco sforzo. In attesa di un fix.

Alessandro

Print | posted on martedì 4 aprile 2017 00:00 | Filed Under [ .NET Framework Xamarin ]

Powered by:
Powered By Subtext Powered By ASP.NET