Service、Alarm与BroadcastReceiver的使用方法
生活随笔
收集整理的這篇文章主要介紹了
Service、Alarm与BroadcastReceiver的使用方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1:定義一個服務類,在服務類中使用AlarmManager 來管理服務的運行
public class WtacService extends Service{
private AlarmManager alarmManager = null;
private PendingIntent alarmIntent = null;
@Override
public IBinder onBind(Intent arg0) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
alarmManager = (AlarmManager)this.getSystemService(Context.ALARM_SERVICE);
String ALARM_ACTION = WR.ACTION_WTAC_ALAEM;
Intent intentTo = new Intent(ALARM_ACTION);
alarmIntent = PendingIntent.getBroadcast(this, 0, intentTo, 0);
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
final Context context = this.getApplicationContext();
int alarmType = AlarmManager.ELAPSED_REALTIME_WAKEUP;
long timeRepeat = SystemClock.elapsedRealtime()+(10*1000);
long intervalMillis = 10*1000;
alarmManager.setInexactRepeating(alarmType, timeRepeat, intervalMillis, alarmIntent);
Thread mThread = new Thread(new Runnable(){
@Override
public void run() {
try{
DBManager dbManager = new DBManager(context);
List<Wtac> list = dbManager.selectWtacs();
Gson gson = new Gson();
String json = gson.toJson(list, new TypeToken<List<Wtac>>(){}.getType());
System.out.println("結果:"+json);
}finally{
//服務每次執行完成就關閉
stopSelf();
}
}
});
mThread.start();
return Service.START_NOT_STICKY;
}
}
2:在AndroidManifest.xml文件中注冊這個Service
<service
android:name="com.wzh.service.WtacService"
android:enabled="true"
android:exported="false" />
3:定義廣播接收器
public class WtacAlarmReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
Intent startIntent = new Intent(context, WtacService.class);
context.startService(startIntent);
}
}
4:在AndroidManifest.xml文件中注冊這個廣播接收器
<receiver android:name="com.wzh.receiver.WtacAlarmReceiver"
android:enabled="true"
android:exported="false">
<intent-filter>
<action android:name="com.wzh.receiver.ACTION_WTAC_ALAEM"/>
</intent-filter>
</receiver>
總結
以上是生活随笔為你收集整理的Service、Alarm与BroadcastReceiver的使用方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html生成二维码,qr
- 下一篇: Coding:文件网盘高速直链下载无限空