我正在开发一个应用程序,我想在其中集成SQL数据库。到目前为止我的代码工作正常。我让应用程序在启动时自动运行,我立即检查SDCard存在。如果存在,我将在SDCard上创建数据库,如果不存在,我将在设备上创建它。
问题在于,当应用程序自动运行时,它将在设备找到SD卡之前启动,因此我始终无法检测SD卡是否存在。
我应该使用什么样的监听器才能知道设备已完全打开?
答案 0 :(得分:5)
SystemListener
将完成这项工作。这就是我通常这样做的方式:
public class MyApp extends Application implements SystemListener {
public static void main(String[] args){
MyApp app = new MyApp();
if (ApplicationManager.getApplicationManager().inStartup()) {
app.addSystemListener(app);
//wait for powerUp callback
} else {
app.startup();
}
}
public void powerUp() {
removeSystemListener(this);
startup();
}
private void startup(){
//Perform initialization here, most typically show first screen and stuff.
}
// Remaining SystemListener callbacks not shown for brevity
}