2017-02-12 21 views
-1

Androidアプリを再起動しますが、アプリの再起動後に特定のアクティビティに移動します。特定のアクティビティにAndroidアプリを再起動

私は現在このコードを使ってアプリケーションを再起動していますが、最初のアクティビティに戻ります。別の特定の活動に行く必要があります。

自分のアプリケーションの色を選択できるアプリケーションで設定ページを作成しました。色を選択したら、ユーザーが選択した新しいテーマを適用するためにすべてのアクティビティを再開する必要があります。 、あなたの最初の活動のonCreate()

Intent startActivity = new Intent(); 
      startActivity.setClass(ProfileSettingsActivity.this,ProfileSettingsActivity.class); 
      startActivity(startActivity); 
      finish(); 
+0

これはなぜ必要なのかわかりませんが、 'Activity#recreate()'メソッドが必要な場合があります。 –

+0

recreate()メソッドを呼び出すことができます。 詳細については、この[スレッド](http://stackoverflow.com/a/16467733/5371335)を参照してください。 –

答えて

0

簡単

Intent intent = new Intent(this, ANOTHER_SPECIFIC_ACTIVITY.class); 
this.startActivity(intent); 
finish(); 
+0

コードを書くだけではありません。あなたが何をしたのか説明してください。 – Zeta

+0

新しいアクティビティを開くのではなく、アプリケーションをリロードする必要があります。 –

+0

"私は現在このコードを使ってアプリケーションを起動していますが、最初のアクティビティに戻ります。別の特定のアクティビティに移動する必要があります。"私はANOTHER_SPECIFIC_ACTIVITYを入れて、あなたのものと置き換えることができます。 「フルアプリ」と言うのは良いことではありません。開始アクティビティを置き換えて、アプリが再開して新しく始まるようにすることができます。 –

0

好きな条件をチェックして、それらに基づいて:私は最初のアクティビティにアプリを再起動するために使用しています

コード最初のアクティビティでsetContentView()が呼び出される前に、特定のアクティビティのインテントが開始されます。

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    if(CONDITION_1) { 
     startActivity(new Intent(this, ActivityA.class)); 
    } else if(CONDITION_2) { 
     startActivity(new Intent(this, ActivityB.class)); 
    } 
    setContentView(R.layout.activity_first); 
} 
0

Flagsですべてのアクティビティをクリアして新しいものを起動しようとしましたか?

Intent intent = new Intent(this, NEW_ACTIVITY.class); 
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    startActivity(intent); 

以前に作成し、新しい設定でNEW_ACTIVITY.classを起動するすべての活動をクリアしている、これを行います。

関連する問題