2017-02-09 17 views
0

私の次のアプリバージョンでは、ブール値フラグenableNotificationが必要です。だからすべてが正常に私のアプリMainActivityで私のアプリを起動した後、私はこのフラグをfalseに設定し、私はSharedPreferencesに保存してアプリで動作します。それがMainActivityに行かず、このフラグをSharedに設定すると、私のアプリはうまく動作しません。アプリはアプリのアップグレード後にLAUNCHアクティビティを起動しますか?

私の質問は、ユーザーがGoogle Playで自分のアプリを新しいバージョンにアップグレードした後(以前のバージョンにはSharedPrefにこのフラグがありません)、それは最初にMainActivityに移動し、前のアクティビティには移動しませんか(SecondActivity、ThirdActivity ...)?または、このフラグをDBに保存する方が良いので、onCreate()にこのフラグをfalseに設定しますか?

答えて

1

Androidのアプリケーションを更新すると強制的に閉じます。
だから、次回は、ユーザーがアプリを開いて、それは(おそらくMainActivity)あなたはAndroidのマニフェストでACTION_MAINインテントフィルタを宣言し活動を開始します

1

あなたのアプリがSharedPreference 'enableNotification'に依存する場合は、まずApplicationクラスでチェックする必要があります。

アプリケーションが以前に値を持たない場合は、まずアプリケーションクラスの値を初期化します。ドキュメントが言うように、アプリケーションクラスが活動する前に呼び出されるため、アプリケーションonCreate()にチェックを行います。

無効のonCreate()

アプリケーションはあらゆる活動の前に、開始されたときに呼び出され

、サービス、 または受信オブジェクト(コンテンツプロバイダを除く)が作成されています。 は、最初のアクティビティの開始、プロセス内の サービス、または受信者のパフォーマンスに直接影響するため、できるだけ早く実行する必要があります(たとえば、遅い 状態の初期化を使用)。このメソッドをオーバーライドする場合は、 super.onCreate()を必ず呼び出してください。

+0

しかし、どのようなアップグレードについてはどうですか?ユーザーがアプリケーションをアップグレードした後、アプリケーションのonCreate()が呼び出されますか? – alla

+0

afaik、それが呼び出されます。ベータテスター機能(https://support.google.com/googleplay/android-developer/answer/3131213?)を使用して、まずデバイスやテストでテストしてください。 –

関連する問題