如何在Service内部安全调用stopSelf

avatar
作者
猴君
阅读量:0

在Service内部安全调用stopSelf的方法是通过使用startForeground方法开启前台服务。前台服务会在状态栏显示一个通知,这样系统就会认为这个服务是一个重要的服务,不会轻易被系统销毁。

以下是一个示例代码:

public class MyService extends Service {      private static final int NOTIFICATION_ID = 1;      @Override     public int onStartCommand(Intent intent, int flags, int startId) {         startForeground(NOTIFICATION_ID, new Notification());         // 执行一些操作         stopSelf();         return START_NOT_STICKY;     }      @Nullable     @Override     public IBinder onBind(Intent intent) {         return null;     } } 

在上面的代码中,我们在Service的onStartCommand方法中调用startForeground方法,传入一个Notification对象和一个唯一的通知ID。然后执行一些操作后调用stopSelf方法来停止Service。由于Service是前台服务,系统会认为这个服务是一个重要的服务,不会轻易被销毁。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!