「A」と「B」の2つのアクティビティがあり、「A」は「B」を開きます。ユーザーがアクティビティ「B」の戻るボタンを押したときに、「A」を表示したくないので、「A」を閉じたいだけです。それで、「B」で私はこれをしました:
@Override
public void finish() {
// TODO Auto-generated method stub
Intent intent = new Intent(this, LoginActivity.class).putExtra(TAG, TAG).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
//super.finish();
}
アクティビティ「A」では、次のようにしました。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(getIntent().getExtras() != null)
if(getIntent().getStringExtra(HomeActivity.TAG) != "")
finish();
}
それは完全に機能しますが、私はこの例外を取得しています:
E/ActivityThread(11115): Activity br.com.pedmobiledroid.view.controller.LoginActivity has leaked IntentReceiver com.android.internal.policy.impl.multiwindow.MultiPhoneWindowEvent$1@42045be0 that was originally registered here. Are you missing a call to unregisterReceiver()?
誰かがこれを適切に行うためのより良い方法を知っていますか?