2010-03-19 21 views
5

Bazı durumlarda yönlendirme değişikliklerine izin veren, ancak başka türlü yapmayan bir etkinlik yapmak istiyorum. Daha doğrusu arka plan iş parçacığı meşgul olduğunda etkinliği yeniden başlatmayı önlemek istiyorum.Koşullu yeniden başlatma Etkinleştirme onConfigurationChanged

Etkinlik bildirimine configChanges özniteliğini koydum ve yönlendirme değiştiğinde onConfigurationChanged çağrılıyor. Ancak, uygulamanın izin verildiğinde yönlendirmeyi değiştirmesine izin vermek istiyorum. buna izin vermiyor o çağrıyı setRequestedOrientation() izin eğer

@Override 
public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 

    if (orientationChangeAllowed) { 
     // how do I restart this activity? 
    } else { 
     // don't do anything 
    } 
} 

cevap

7

, hiçbir şey.

Bir ipucu olarak: onRetainNonConfigurationInstance() ve getLastNonConfigurationInstance() öğelerini kullanabilir ve AsyncThread'u (bir nesne içeren) döndürebilirsiniz. Bu şekilde Activity, kullanıcı istediğinde yönlendirmeyi değiştirir. Bununla birlikte not alın: Context numaralı referansa bir sızıntı yapmamalısınız (Activity veya Drawable, ...).

İlgili konular