定義一個類來繼承Service:
public class AlarmService extends Service {
@Override
public int onStartCommand(Intent intent,int flags, int startId) {
Log.e("TAG_ting","鬧鐘開啓了");
return super.onStartCommand(intent, flags, startId);
}
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
}
在mainfest中註冊:
<service android:name=".AlarmService">
<intent-filter>
<action android:name="Alarm.Service"/>
<category android:name="android.intent.category.ALTERNATIVE"/>
</intent-filter>
</service>
啓動service:
AlarmManager aManager;
// 獲取AlarmManager對象
aManager = (AlarmManager) getSystemService(Service.ALARM_SERVICE);
// 指定啓動AlarmActivity組件
Intent intent = new Intent();
intent.setAction("Alarm.Service");
// 創建PendingIntent對象
PendingIntent pi = PendingIntent.getService(AlarmActivity.this, 0, intent, 0);
Calendar c = Calendar.getInstance();
//set(@AlarmType int type, long triggerAtMillis, PendingIntent operation) 1\喚醒方式,2、規定時間,3、操作
aManager.set(AlarmManager.RTC_WAKEUP,time+1000, pi);
service裏面可以做很多操作,如過是一個鬧鐘程序,那麼在規定時間開啓鬧鐘服務播放音樂,通過彈窗來提示用戶關閉