【发布时间】:2021-02-09 02:08:21
【问题描述】:
我有两个活动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
【问题讨论】:
-
哦,是的!遇到同样的问题...
-
你的问题不清楚。 A 发射透明的 B。当 B 在顶部时,您是否想通过单击 A 中的按钮来停止 B?
-
@gezdy 是的,这就是我想做的。
-
@gezdy 不,不是。我可以按原样使用 A。我只需要找到关闭B的方法。请在发布之前尝试一下。
标签: android android-intent android-activity