通过服务改变活动的生命周期?

时间:2017-07-21 06:14:52

标签: java android service

想象一下"主屏幕"运行服务。当服务读取满足特定值的蓝牙数据时,它会启动一个新活动以通知用户此类更改。

从服务创建新活动时,主屏幕活动会发生什么?据我所知,我不能调用finish()来结束服务中的活动。我不得不想象主屏幕在堆栈的某个地方处于休眠状态?

如果我整天运行此应用程序并有100个警报会怎样?

例如,从服务中,我将调用:

Intent alertActivity = new Intent(this, Alert.class);
alertActivity.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(alertActivity);

稍后,当清除警报时,它将返回主屏幕。

1 个答案:

答案 0 :(得分:0)

在这种情况下,实现Notifications而不是新的Intent会更好吗?既然您只向用户显示数据以通知他有关更改的信息?

否则我认为你可以将一个Callback方法从Service变为一个在Activity中声明的方法,这样它就可以完成它。