Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 高級開發 >> Android開發:系統自動實現開機啟動

Android開發:系統自動實現開機啟動

編輯:高級開發

我們在前面已經講過了android開發:自由選擇TextVIEw的文字如何實現TCP和UDP傳輸。如果您在開發一個需要實時更新數據應用程序,當有新的數據的時候提醒用戶查看新的數據,那麼您需要在後台開起一個Service,然後實時的去網絡上獲取數據,但是如果用戶關機重啟,您的Service可能就消失了!那麼怎麼樣保證開機後你的Service還活躍的在用戶的手機裡偷偷的從網絡上獲取數據呢?

很簡單,我們只要實現開機自啟動即可,android實現開機自啟動可能是移動操作系統中最簡單的了,我們只需要監聽一個開機啟動的Broadcast(廣播)即可。首先寫一個Receiver(即廣播監聽器),繼承BroadcastReceiver,如下所示:

  1. public class BootReceiver extends BroadcastReceiver {
  2. private PendingIntent mAlarmSender;
  3. @Override
  4. public void onReceive(Context context, Intent intent) {
  5. // 在這裡干你想干的事(啟動一個Service,Activity等),本例是啟動一個定時調度程序,每30分鐘啟動一個Service去更新數據
  6. mAlarmSender = PendingIntent.getService(context, 0, new Intent(context,
  7. RefreshDataService.class), 0);
  8. long firstTime = SystemClock.elapsedRealtime();
  9. AlarmManager am = (AlarmManager) context
  10. .getSystemService(Activity.ALARM_SERVICE);
  11. am.cancel(mAlarmSender);
  12. am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, firstTime,
  13. 30 * 60 * 1000, mAlarmSender);
  14. }
  15. }

接下來,我們只需要在應用程序配置文件androidManifest.XML中注冊這個Receiver來監聽系統啟動事件即可,如下所示:

  1. <receiver android:name=".service.BootReceiver">
  2. <intent-filter>
  3. <!-- 系統啟動完成後會調用-->
  4. <action android:name="android.intent.action.BOOT_COMPLETED">
  5. </action>
  6. </intent-filter>
  7. </receiver>

就這樣,我們就實現了系統自啟動,怎麼樣?是不是很簡單?

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved