我已经在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"/>
答案 0 :(得分:0)
当您的应用程序目标大于android O时,这是正常行为。要保持您的服务正常运行,应启用前驱服务并通过通知通知用户。你可以在这里查看 https://developer.android.com/about/versions/oreo/background#services
应用程序位于前台时,它可以自由创建和运行前台和后台服务。当应用进入后台时,它会有几分钟的窗口,仍然允许在其中创建和使用服务。在该窗口结束时,该应用程序被认为是空闲的。此时,系统停止应用程序的后台服务,就像该应用程序调用了服务的Service.stopSelf()方法一样。