2015-07-08 1 views
-3

Я использую ниже код для выхода из приложения.Android :: как выйти из полного приложения, в диалоговом окне нажмите кнопку

Дело в том, что интернет недоступен, тогда он показывает диалоговое окно, в котором говорится, что Интернет недоступен и нажмите «ОК». Как только пользователь нажмет Ok, закройте приложение, но приложение покажет в списке последних приложений.

Ниже приведен код ::

AlertDialog.Builder builder1 = new AlertDialog.Builder(context); 
     builder1.setTitle("Oops! Internet not available."); 
     builder1.setMessage("Connect to Internet and Restart App."); 
     builder1.setCancelable(true); 
     builder1.setPositiveButton("OK", 
       new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int id) { 
       Intent intent = new Intent(Intent.ACTION_MAIN); 
      intent.addCategory(Intent.CATEGORY_HOME); 
      intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
      intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
      intent.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS); 
     startActivity(intent); 

      } 
     }); 

     AlertDialog alert11 = builder1.create(); 
     alert11.show(); 

После использования вышеприведенного кода еще он показывает в списке недавних приложений.

Я уже пробовал под вещами.

System.exit (0);

отделка();

intent.addFlags (Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);

Скажите, пожалуйста, как удалить приложение из списка последних приложений.

+0

Почему вы хотите, чтобы он исчез из последних приложений? –

+0

мой клиент хочет этого ... – Anjali

+0

причина для голосования? ... – Anjali

ответ

2

Я думаю, есть несколько способов удалить последнее приложение из списка истории.

Via активность кормушка:

ActivityManager am = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE); 
    if(am != null) { 
    List<ActivityManager.AppTask> tasks = am.getAppTasks(); 
    if (tasks != null) { 
     tasks.get(0).finishAndRemoveTask(); 
    } 
    } 

Via manifesto.xml

<activity android:name=".Activity2" android:excludeFromRecents="true"></activity> 

Или с помощью намерения

Intent intent = new Intent(Main.this, NewActivity.class); 
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
intent.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS); 
startActivity(intent); 
+0

am.getAppTasks and finishAndRemoveTask - это новые api .... у меня это в манифесте Android: minSdkVersion = "7" android: targetSdkVersion = "22" – Anjali

+0

Ну, всегда есть вероятность, что более старые версии Android даже не поддерживают удаление приложения/активности из окна истории. –

0

Вы также можете сделать следующее в вашем MainActivity:

@Override 
public void finish(){ 

    if(android.os.Build.VERSION.SDK_INT >= 21){ 

     finishAndRemoveTask(); 

    } 
    else{ 

     Intent intent = new Intent(Intent.ACTION_MAIN); 
     intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
     intent.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS); 
     startActivity(intent) 

    } 

} 
Смежные вопросы