0

アプリについて:

  1. 5 つの子アクティビティ (A、B、C、D、E など) を持つ TabActivity があります。
  2. アプリケーションにはトップバーがあり、5つのオプションもあります(ta、tb、tc、td、teと言う)
  3. トップメニューをクリックすると、ドロップダウンリストが開きます(ダイアログとしてのアクティビティです)には、ログアウトを含むすべてのアプリケーションオプションが含まれています。
  4. ログアウトをクリックするとログイン画面になりますが、戻るボタンを押すと、タブの子アクティビティが開きます [B から移動すると言います (これはタブの childeActivity から any へ) --> 通常のアクティビティ (これにはトップバーがあります)] このアクティビティの場合ユーザーはログアウトを押します。ログイン画面が開いているが、押し戻すと B が開いている。私は今まで3つの方法を試してきましたが、誰かが私のために働いていないこれらの方法を試したことを示唆しています:

1 -

objeditor.putString(AppConstants.USER_ID,"");
objeditor.commit();
Intent i=new Intent(MoreActivity.this, Login.class);//use ApplicationContext() as well  
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
finish();   

2 -

Intent i=new Intent(MoreActivity.this, Login.class);
for(int index=0;index<AppConstants.objactivity.size();index++)
{
    if(AppConstants.objactivity!=null && AppConstants.objactivity.get(index)!=null)
    {
        AppConstants.objactivity.get(index).finish();   
    }
}
AppConstants.objactivity.clear();
startActivity(i);

誰か私に提案してください、事前に感謝します

4

1 に答える 1

0

これを試して:

startActivity(new Intent(MoreActivity.this, LoginActivity.class)
            .setFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
                        | Intent.FLAG_ACTIVITY_NO_HISTORY
                        | Intent.FLAG_ACTIVITY_CLEAR_TOP
                        | Intent.FLAG_ACTIVITY_CLEAR_TASK ));
finish();
于 2012-10-12T14:26:07.617 に答える