我想實現一個後臺服務和廣播接收器來檢查我的設備上是否有互聯網,甚至在應用程序關閉時發出http請求,這些都來自我的活動。要做到這一點,我檢查了這個網站上的主題,但我不明白一些東西。 我不明白該怎麼做,OnReceive()函數是否在我的廣播接收器每次連接更改時調用?或者當我在我的活動中註冊我的接收器?有人能告訴我更多關於我需要做什麼來實現我想要的嗎?我已經創建了我的廣播接收器,但我對其他部分感到迷惑。謝謝Android:廣播接收器和後臺服務
0
A
回答
0
首先在應用程序範圍內創建後臺服務,如果超出了應用程序GCMTaskManger或JobScheduler的範圍,可以使用Handler類。
發出HTTP請求甚至當應用程序被關閉,所有從我的活動
爲此使用的jobscheduler或GCMTaskManager,當應用程序關閉時甚至會打電話給你的HTTP請求。
有人能告訴我更多關於我需要做什麼來實現我想要的嗎?
因此,可以說你正在使用GCMTaskManager你會初始化服務第一
mGcmNetworkManager = GcmNetworkManager.getInstance(this);
然後安排你的任務的區間內運行
PeriodicTask task = new PeriodicTask.Builder()
.setService(MyTaskService.class)
.setTag(TASK_TAG_WIFI)
.setPeriod(30L)
.build();
mGcmNetworkManager.schedule(task);
,然後偵聽事件
mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(MyTaskService.ACTION_DONE)) {
String tag = intent.getStringExtra(MyTaskService.EXTRA_TAG);
int result = intent.getIntExtra(MyTaskService.EXTRA_RESULT, -1);
String msg = String.format("DONE: %s (%d)", tag, result);
Toast.makeText(context, msg, Toast.LENGTH_SHORT).show();
}
}
};
是我的廣播接收器的onReceive()函數調用的每一次連接的變化
這取決於服務無論是生成用於監聽事件聽着,如果是,那麼的onReceive被調用。
我建議你通讀這篇文章的調度 https://www.bignerdranch.com/blog/choosing-the-right-background-scheduler-in-android/ 希望它有幫助。
+0
好的謝謝你,我會檢查出來 – Messerschmitt
相關問題
- 1. Android服務或廣播接收器
- 2. 廣播接收器和服務
- 3. 廣播接收器,服務和Wakelock
- 4. 服務和廣播接收器
- 5. 接收到廣播後死亡的後臺服務
- 6. 服務或廣播接收器
- 7. 廣播接收器不被服務
- 8. 從廣播接收器啓動服務
- 9. 廣播接收器未啓動服務
- 10. 服務內的廣播接收器
- 11. Android:廣播接收器和服務問題
- 12. 使用AlarmManager和廣播接收器啓動Android服務
- 13. Android中的廣播接收器和服務
- 14. Android廣播接收器
- 15. Android MMS廣播接收器
- 16. Android廣播接收器
- 17. Android。廣播接收器
- 18. Android廣播接收器,當應用程序在後臺
- 19. Android的廣播接收器和Activity.onPause()
- 20. 廣播接收器和phonestatelistener
- 21. 廣播接收器和ContentResolver
- 22. 服務廣播接收器後沒有響應
- 23. 廣播接收器沒有通過服務接收意圖
- 24. Android廣播接收器未運行RECEIVE_BOOT_COMPLETED上的服務
- 25. Android - 停止廣播接收器被服務中止
- 26. 無法啓動服務意向廣播接收器的Android
- 27. 從廣播接收器開始的Android服務
- 28. Android vs iPhone中的廣播接收器/服務
- 29. Android:使用廣播接收器運行服務。
- 30. 廣播接收器
[服務中的廣播接收器]的可能重複(http://stackoverflow.com/questions/9092134/broadcast-receiver-within-a-service) – rkmax