我发起了一项新活动" ActivityB"键盘锁定时(ActivityA在键盘锁定前已经背景)。 ActivityB在30秒后超时并且应该关闭自己,所以我在30秒后调用完成,虽然不可见,但在我解锁后我在后台看到2个单独的应用程序/活动。 所以我使用了Intent.ACTION_USER_PRESENT broadcastreceiver来完成activityB,但它仍无法正常工作。
的Manifest.xml
@Override
public void onReceive(Context arg0, Intent intent) {
if (ActivityB.b != null) {
ActivityB.b .finish();
}
}
UnlockReceiver: 公共类UnlockReceiver扩展了BroadcastReceiver {
private Activity b;
onCreate() {
b= this;
}
}
ActivityB:
Intent pushIntent = new Intent(context.getApplicationContext(), ActivityB.class);
pushIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
ActivityB在我们收到推送时启动:
<%= check_box_tag 'delivery_charge', "1", true %>
当我解锁设备时,我看到onReceive被称为罚款,但它并没有在后台运行ActivityB。因此,我在背景中看到了2个相同的应用程序
答案 0 :(得分:0)
您可能对活动a有意图创建活动b;
答案 1 :(得分:0)
我在清单文件中设置了以下属性后修复了该问题 机器人:launchMode = “singleTop”