START_STICKY 用于行为类似于服务的活动

Ham*_*dia 0 android android-service android-activity

如果我们希望 Activity 表现得像一个服务,我们可以使用以下方法将其移动到后台:

moveTaskToBack(true);
Run Code Online (Sandbox Code Playgroud)

我们可以使用以下方法将其从“最近”屏幕中隐藏:

android:excludeFromRecents="true"
Run Code Online (Sandbox Code Playgroud)

但是我们如何使它 START_STICKY 在它被杀死后自动重新创建?

Rya*_*ley 5

Activity被杀死后,您无法自动重新创建。这将对用户的设备造成拒绝服务攻击,方法是不断地重新启动Activity他们面前的设备并阻止他们做任何其他事情。除非你认为它不会启动/显示任何 UI,而只是在创建但未启动的状态下运行,在这种情况下也没有办法做到这一点,因为这就是 aService的用途——Activitys为为显示用户界面。

简短版本:如果你想要这些类似服务的行为,你应该使用 aService并且只Service从你的Activity.