我在AlarmManager中啓動重複任務,但是如何獲取服務中的重複計數。 這裏是代碼 MyActivity獲取在重複運行AlarmManage中運行的服務時間
mAlarmSender = PendingIntent.getService(MyActivity.this,0, new Intent(MyActivity2.this, AutoBuild.class), 0);
long firstTime = SystemClock.elapsedRealtime();
AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
firstTime, 1000 * 5, mAlarmSender);
的AutoBuild
public class AutoBuild extends Service {
private String[] infos;
private Intent mIntent;
private String pathStr;
static final String TAG = "AutoBuild";
private int i=0;
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
this.mIntent = intent;
return START_STICKY;
}
@Override
public void onCreate() {
mNM = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
printData(i);/**print result*/
i++;/*count ++*/
AutoBuild.this.stopSelf();/*stop service */
}
private void printData(int i) {
Log.i(TAG, i + "");
}
@Override
public IBinder onBind(Intent intent) {
return mBinder;
}
private final IBinder mBinder = new Binder() {
@Override
protected boolean onTransact(int code, Parcel data, Parcel reply,
int flags) throws RemoteException {
return super.onTransact(code, data, reply, flags);
}
};
}
i的值始終爲0:反正有沒有可以更改此值時Alarmanage重複
NO,事實上,在這些條件下onStartCommand,的onCreate()總是調用時報警repeat.no重要的變量,你改變了它仍然是相同的 –