2012-08-30 82 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

相关问题