2012-08-30 81 views
1

我正在構建應用程序,需要接受免責聲明和其他一些清單。如何在活動顯示之前加載Android偏好設置?

所以在第一次啓動應用程序的工作原理是這樣的:

閃屏 - >免責聲明 - >清單 - >應用程序的設置 - >我的應用

在所有其他負載直接轉到我的應用部分。

現在,我創建了一個名爲「setupCheck」的活動,如果前三個屏幕「使用」,它將轉到「我的應用程序」。這工作正常,即使我沒有設置任何佈局,並且我沒有在「setupCheck」中設置「setContextView」,但在我的應用程序加載之前,我仍然收到醜陋的空白屏幕。

什麼是正確的方法來加載沒有任何屏幕可見的Sherd首選項,然後根據真或假的狀態進入Splash或去我的應用程序。

Tnx幫助解決這個問題。

編輯: 在設置

boolean disclamerChecked = getPrefs.getBoolean("disclamer", true); 
boolean screeningChecked = getPrefs.getBoolean("screening", true); 
boolean splashChecked = getPrefs.getBoolean("splash", true); 
if (splashChecked == true) { 
    if (disclamerChecked == true) { 
     if (screeningChecked == true) { 
      Intent intent = new Intent("mypackage.mypackage.SPLASH"); 
      startActivity(intent); 
     } 
    } 
} 
+0

第一次運行後,Splash屏幕將不會顯示給用戶? – iTurki

+0

是的。如上所述,它只是第一次顯示。否則,我會使用啓動畫面加載設置,但現在我不知道如何加載它們,然後直接跳轉到應用程序。 – Balkyto

+0

所以我可能誤解了你的問題。當您嘗試加載共享偏好時,您的問題是您有黑屏嗎?或者是別的,然後請進一步說明。我會在以後更新答案。 – Warpzit

回答

0

代碼總會有你的應用程序開始前的屏幕,但它有可能採用了全尺寸的圖像/全尺寸純色的拼接以改變這種狀況。

您的第一個視圖在onCreate()結束之前不會顯示。所以如果你在onCreate()中做了大量的處理,那麼在顯示初始視圖之前需要花費很多時間。這也是爲什麼建議在後臺線程中執行儘可能多的處理而不是在啓動時執行的原因。

+0

嗯,在我的第一個onCreate中,我沒有任何東西(用於測試目的),並且我根本沒有setContentView,但第二個出現白色對話框,然後按計劃進行。如果需要後臺線程,確定,但如何在實際應用程序啓動之前啓動後臺線程?在你看來,我很新鮮); – Balkyto

+0

哪些活動首先從清單中啓動?還有什麼意思,「但仍然是白色的對話框出現在第二,然後按計劃進行」 – Warpzit

+0

請使用編輯功能添加更新到您原來的問題。發佈大型無格式評論並不是好的做法 – Merlin

相關問題