2012-04-18 13 views
1

PreferenceActivityからアプリケーションを再起動する必要があります。私は試しました:優先度を変更したアプリケーションを再起動

@Override 
public void onSharedPreferenceChanged(SharedPreferences pref, String key) { 
    System.exit(2); 
} 

ただし、再起動後の設定は保存されません。環境設定でアプリを再起動する方法のアイデアは保存されていますか?
ありがとうございます。

+3

:AlarmManagerでアプリを再起動しますか? – techiServices

+0

テーマの変更とロケールの変更の2つしかありません。再起動せずに変更する方法の解決策は見つかりませんでした。 –

+1

次に、アプリケーションを再起動せずに、 "テーマを変更する"と "ロケールを変更する"(あなたがそうであると思っている)方法について質問する新しいStackOverflowの質問を開くことをお勧めします。 – CommonsWare

答えて

3

System.exit(2);私は試してみる

this.finish(); 

finish()は活動を停止するための呼び出しです。あなたが意図オブジェクト

Intent screenToBeShown = new Intent(myactivity.this, whateveractivityyouwant.class); 
startActivity(screenToBeShown); 

を必要とする活動を開始する

は、この情報がお役に立てば幸いです。

+0

はい、動作します。私は 'finish()'の後のすべてのコードが到達不能であることを確信しました。 –

+1

ああ... :(私は親の活動もすべて閉じなければなりません。**すべての**以前の活動をどのように閉じるか知っていますか? –

+0

これは活動には役立ちますが、サービスについてはどうですか? – trans

1

、それはまだあなたのために便利だ場合:あなたはアプリを再起動する必要がありますなぜ

AlarmManager alm = (AlarmManager) this.getSystemService(Context.ALARM_SERVICE); 
    alm.set(AlarmManager.RTC, System.currentTimeMillis() + 1000, PendingIntent.getActivity(this, 0, new Intent(this, myActivity.class), 0)); 
    Process.killProcess(Process.myPid()); 
関連する問題