关闭应用程序后服务停止运行

时间:2020-05-16 14:14:32

标签: java android android-service

我已经在Android中编写了一个简单的服务。它在应用程序运行期间一直运行,在应用程序关闭时停止。我的代码如下:

df.dtypes

}

清单文件条目

public class WitoService extends Service {
private MediaPlayer mp;
@Nullable
@Override
public IBinder onBind(Intent intent) {
    return null;
}

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    //return super.onStartCommand(intent, flags, startId);
    mp=MediaPlayer.create(this, Settings.System.DEFAULT_RINGTONE_URI);
    mp.setLooping(true);
    mp.start();
    return START_STICKY;
}

@Override
public void onDestroy() {
    super.onDestroy();
    mp.stop();
}

服务调用代码:

<service android:name=".WitoService"/>

1 个答案:

答案 0 :(得分:0)

当您的应用程序目标大于android O时,这是正常行为。要保持您的服务正常运行,应启用前驱服务并通过通知通知用户。你可以在这里查看 https://developer.android.com/about/versions/oreo/background#services

应用程序位于前台时,它可以自由创建和运行前台和后台服务。当应用进入后台时,它会有几分钟的窗口,仍然允许在其中创建和使用服务。在该窗口结束时,该应用程序被认为是空闲的。此时,系统停止应用程序的后台服务,就像该应用程序调用了服务的Service.stopSelf()方法一样。

相关问题