我该怎么做才能确保后台服务不会重启两次?

use*_*316 2 android background-service alarmmanager android-service

过去几天我正在创建一个后台服务,我注意到很多人说AlarmManager是最好的方法.

    AlarmManager am=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
    Intent intent = new Intent(context, AlarmManagerBroadcastReceiver.class);
    intent.putExtra(ONE_TIME, Boolean.FALSE);
    PendingIntent pi = PendingIntent.getBroadcast(context, 0, intent, 0);
    //After after 5 seconds
    am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 1000 * 5 ,
Run Code Online (Sandbox Code Playgroud)

我想知道的是如何确保如果此代码运行两次,则服务将不会启动2次.感谢您的帮助!

RPa*_*las 5

服务无法启动两次,如果您尝试再次启动它将继续运行.请参阅此处:http://developer.android.com/guide/components/services.html#StartingAService

编辑:但是,每次启动服务时,都会调用onStartCommand()方法.