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 に答える