2

我正在开发一个应用程序,我想在其中集成 SQL 数据库。到目前为止,我的代码工作正常。我让应用程序在启动时自动运行,并立即检查 SDCard 是否存在。如果存在,我将在 SDCard 上创建数据库,如果没有,我将在设备上创建它。

问题是当应用程序自动运行时,它会在设备找到 SDCard 之前启动,所以我总是无法检测到 SDCard 是否存在。

我应该使用什么监听器来知道设备已完全打开?

4

1 回答 1

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
    }
于 2012-10-18T08:48:34.160 回答