【发布时间】:2016-10-08 02:13:15
【问题描述】:
我在键盘锁定时启动了一个新活动“ActivityB”。(在键盘锁定之前,ActivityA 已被后台处理)。 ActivityB 在 30 秒后超时并且应该自行关闭,所以我在 30 秒后调用了完成,虽然不可见,但在我解锁后我在后台看到 2 个单独的应用程序/活动。 所以我用 Intent.ACTION_USER_PRESENT 广播接收器完成了activityB,还是不行。
Manifest.xml
<receiver
android:name="com.example.reciever.UnlockReceiver">
<intent-filter>
<action android:name="android.intent.action.USER_PRESENT" />
</intent-filter>
</receiver>
解锁接收器: 公共类 UnlockReceiver 扩展 BroadcastReceiver {
@Override
public void onReceive(Context arg0, Intent intent) {
if (ActivityB.b != null) {
ActivityB.b .finish();
}
}
}
活动B:
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);
我在解锁设备时看到 onReceive 调用正常,但它没有在后台结束 ActivityB。因此,我在后台看到了 2 个相同的应用程序
【问题讨论】:
标签: android android-background