2015-02-20 2 views
0

У меня есть два вида деятельности. Один из них - это своего рода домашняя деятельность (с некоторыми выборами), а другая - основная деятельность. Использование этого:Отделка on onPause()

<activity 
      android:name=".Home" 
      android:label="@string/app_name" 
      android:screenOrientation="portrait"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name=".MainActivity" 
      android:label="@string/app_name" 
      android:screenOrientation="portrait"> 
     </activity> 

И в Home.java я установил:

@Override 
    protected void onPause() { 
     super.onPause(); 
     finish(); 
    } 

    @Override 
    protected void onStop() { 
     super.onStop(); 
     finish(); 
    } 

В MainActivity.java я ничего не делать в методе onPause() и onStop(). Проблема в том, что если в MainActivity я вернусь, приложение находится в моем фоновом приложении, и я вижу экран MainActivity.

Но когда я перезапущу приложение, он перезапускается с Домой.

Ну, как я могу перезапустить с помощью MainActivity? Спасибо

+2

Включите их в манифесте, если вы хотите 'MainActivity' быть лаунчер. Или я полностью не понимаю вашу проблему. – codeMagic

+0

как @codeMagic сказал, что если вы хотите, чтобы 'MainActivity' запускался, вам нужно переключить их. – Blackbelt

+0

Вам не нужно вызывать _finish() _ from _onStop() _ – 18446744073709551615

ответ

0

Если вы хотите, чтобы ваше приложение всегда запускалось из MainActivity, вам нужно переместить в него файл фильтра намерений.

<activity 
     android:name=".Home" 
     android:label="@string/app_name" 
     android:screenOrientation="portrait"> 
    </activity> 
    <activity 
     android:name=".MainActivity" 
     android:label="@string/app_name" 
     android:screenOrientation="portrait"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

Вы также получаете это поведение, потому что вы вызываете finish() в свой onStop(). Как описано here, вы вынуждаете onDestroy() в свой onStop().

0

Попробуйте это:

@Override 
protected void onPause() { 
super.onPause(); 
system.exit(0); 
} 
Смежные вопросы