2012-10-07 31 views
10

Uygulama başlatıldığında başlatılan etkinliği değiştirebilmemin bir yolu var mı?Program aracılığıyla başlatıcı etkinliğini değiştirme

+0

Belki sadece onCreate' 'hedef etkinliğe alır bir memuru aktiviteye sahip? – nneonneo

+0

[Varsayılan Aktiviteyi Tanımla (uygulama başladığında) program aracılığıyla olası bir kopyası] (http://stackoverflow.com/questions/6497725/define-default-activity-when-app-starts-programmatically) –

cevap

16

Bildirilerinizde her zaman başlatıcı etkinliği olarak atanan bir yardımcı etkinliği bulunmasını öneriyorum. Daha sonra, bu etkinliğin onCreate'da, hangi uygulamanın başlayacağına karar vermeniz için gereken her türlü belirleme işlemini yapabilir ve ardından yardımcı aktiviteyi bitirebilirsiniz. Örnek: Manifest'inizde (başlatıcısı aktivite) olarak

: HelperActivity en onCreate içinde Sonra

<activity android:name=".HelperActivity" ... /> 

:

@Override 
public void onCreate(Bundle b){ 
    super.onCreate(); 
    //determine what activity you want 
    startActivity(new Intent(this, NewActivity.class); 
    finish(); 
} 
+3

kaba bir geçiş gösterilsin mi? –

+7

Büyük olasılıkla, onCreate() öğesindeki animasyon kimliği için 0 ile Activity.overridePendingTransition() yöntemini çağırabilir, ardından da bitirmeyi geçersiz kılabilir(), Activity.overridePendingTransition() öğesini çağırın ve sonra super.finish() öğesini çağırabilirsiniz. – dennisdrew

+3

Animasyonları ve yığın gezinme geçmişini önlemek için AndroidManifest'te 'android: noHistory = "true"' özelliğini kullanıyorum. –

İlgili konular