在API级别25(牛轧糖)以上的设备上使用START_STICKY重新启动服务

时间:2017-07-27 10:17:52

标签: android service android-7.1-nougat

我的应用程序中有一项服务需要在从最近的任务列表中删除应用程序后重新启动。服务重新启动API级别25及以下版本,但不适用于25及以上版本。请帮助我解决此问题,并希望了解重新启动与所有操作系统版本兼容的服务的最佳方法。

public class XMPPMainService extends Service {

    private static final String TAG = "XMPPMainService";

    private static final int RECONNECT_TRY_INTERVAL_MS = 900; // 5 Seconds

    private PendingIntent pendingIntent;


    @Override
    public void onCreate() {
        super.onCreate();
        Log.e(TAG, " onCreate ");
    }

    @Nullable
    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        Logger.LOGD(TAG, "onDestroy: ");
        XMPPManager.shutdown();
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        XMPPManager.getInstance(getApplicationContext());
        return START_STICKY;
    }
}

清单文件:

<service
        android:name="com.chatmodule.xmpp.XMPPMainService"
        android:enabled="true"
        android:stopWithTask="false"
        android:exported="false" />`

1 个答案:

答案 0 :(得分:3)

在服务类中添加此代码: -

database.yml