1

シナリオ:
ボタンを押してアプリを終了すると、アプリが Wi-Fi の状態を切り替えます。Wi-Fi が無効になっているときにバックグラウンド データが有効になっている場合、アプリはユーザーが同期設定アクティビティ startActivity(new Intent(Settings.ACTION_SYNC_SETTINGS)) を開始して bg データを無効にできるようにします。
これはうまく機能しますが、ユーザーがホーム ボタンを押して同期設定アクティビティからホーム画面に戻った場合、アプリを再度開いたときにメイン アクティビティではなく同期設定が表示されます。

アプリが開かれるたびに、どのように、またはどこで閉じられたかに関係なく、メイン アクティビティで開始されるようにするにはどうすればよいですか?

4

2 に答える 2

1

no history フラグを使用する必要があります。あなたが望むのは、No history フラグですべてのアクティビティを開始することです。そのため、APP を閉じてホーム ボタンから再び戻ると、すべてのアクティビティ (メインのものを除く) が破棄されます。

あなたの主な活動が活動Aを開始したいとしましょう

Class ourClass = Class.forName("ActivityA");    
Intent ourIntent = new Intent(this, ourClass);  
ourIntent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);//This is the flag I am talking about
startActivity(ourIntent);
于 2012-08-18T23:33:13.203 に答える
-1

メインの add-> を除くすべてのアクティビティで

     @Override
 public void onPause() {
         finish();
     super.onPause();

 }

これで、アプリがアクティビティで一時停止すると、それが終了します。これは、あるアクティビティから次のアクティビティに移動するときに、戻るボタンを押して戻ることができず、常にメインに移動することも意味します。

于 2012-08-18T22:52:56.313 に答える