1:UploadingService.java
package
com.example.service;
import
com.example.broadcast.AlarmReceiver;
import
com.example.utils.DateUtil;
import
android.app.Activity;
import
android.app.AlarmManager;
import
android.app.PendingIntent;
import
android.app.Service;
import
android.content.Context;
import
android.content.Intent;
import
android.os.IBinder;
import
android.os.SystemClock;
public
class
UploadingService
extends
Service{
@Override
public
IBinder onBind(Intent intent) {
return
null
;
}
@Override
public
int
onStartCommand(Intent intent,
int
flags,
int
startId) {
//
to-do
System.out.println("===========:"+DateUtil.getDateByFormat("yyyy-MM-dd HH:mm:ss"
));
AlarmManager am
=
(AlarmManager)getSystemService(ALARM_SERVICE);
int
seconds = 1000*3
;
long
triggerAtTime = SystemClock.elapsedRealtime()+
seconds;
Intent i
=
new
Intent(
this
, AlarmReceiver.
class
);
PendingIntent pi
= PendingIntent.getBroadcast(
this
, 0, i, 0
);
am.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, triggerAtTime, pi);
return
super
.onStartCommand(intent, flags, startId);
}
public
static
void
openService(Context context){
Intent intent
=
new
Intent(context, UploadingService.
class
);
((Activity)context).startService(intent);
}
}
2:AlarmReceiver.java
package
com.example.broadcast;
import
com.example.service.UploadingService;
import
android.content.BroadcastReceiver;
import
android.content.Context;
import
android.content.Intent;
public
class
AlarmReceiver
extends
BroadcastReceiver{
@Override
public
void
onReceive(Context context, Intent intent) {
Intent i
=
new
Intent(context, UploadingService.
class
);
context.startService(i);
}
}
3:MainActivity.java
UploadingService.openService(MainActivity.
this
);
4:AndroidManifest.xml
<
service
android:name
="com.example.service.UploadingService"
/>
<
receiver
android:name
="com.example.broadcast.AlarmReceiver"
/>

