我有两个活动A和B。B是透明的通过活动,A是可见的。我想通过按下按钮 A 杀死 B。
这是我到目前为止所尝试的:
B obj=new B();
obj.finish();
我创建了一个 B 的对象并试图杀死它。那没有用。
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("keep", true);
startActivity(intent);
这段代码应该做的是清除最重要的活动,即 B 并再次调用 B,除了这次我传递一个值,使得 B 在几秒钟后杀死自己。
由于某种原因,这只会堆积更多的活动实例。或者至少我认为这是因为许多透明活动导致屏幕像素化而发生的。
这是我的清单:
<activity
android:name="com.xxx.xxx.B"
android:excludeFromRecents="true"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:clearTaskOnLaunch="true" >
</activity>
当我在活动显示后点击按钮并且第二次将其杀死时,我该怎么做?创作部分显然得到了照顾。我的活动 B 弹出,现在我想杀死它,因为 B 在上面。
编辑
我用复选框尝试了这个,这是代码:
enable.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
finishActivity(0);
Intent intent = new Intent(A.this, B.class);
if (enable.isChecked()) {
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("keep", true);
intent.putExtra("value", 10);
startActivityForResult(intent, 0);
}
else
{
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("keep", false);
startActivityForResult(intent, 0);
}
}
});
选中启用后,将调用活动,这可以正常工作。但他们继续堆积。当我选中和取消选中复选框时,它不是这样的 A->B->A->B。它是 A->B->BB->BBB