【发布时间】:2014-05-12 15:43:36
【问题描述】:
我了解,当您调用 Intent 启动服务时,该服务会继续运行,直到明确结束。
我希望该服务能够保留多个活动。当应用的所有activity都被销毁时如何结束它?
还是自动销毁?
【问题讨论】:
我了解,当您调用 Intent 启动服务时,该服务会继续运行,直到明确结束。
我希望该服务能够保留多个活动。当应用的所有activity都被销毁时如何结束它?
还是自动销毁?
【问题讨论】:
在主Activity 中,覆盖onDestroy 并调用stopService
@Override
public void onDestroy()
{
super.onDestroy();
Toast.makeText(<Context>, "Stopping service", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(<MainActivity>.this, <YourService>.class);
stopService(intent);
}
【讨论】:
Activity 通过Intent 启动另一个活动(同一应用程序的一部分),它会被销毁吗?
Activity 生命周期,则创建和销毁一次活动。如果您从Activity A 呼叫Activity B,则呼叫Activity 将暂停。
Activity B 回到Activity A 时,为什么onCreate() 会再次被调用?
Activity 将在 onPause() 可见的时间内保持不变(例如,如果 Activity B 的主题为 Dialog),否则它将消失到onStop(),从here可以看出
onDestroy 的陈述成立。