我有一項服務來掃描藍牙低功耗設備並顯示通知。如果應用程序已啓動或應用程序處於後臺,此功能可用。但如果應用程序從後臺刪除,該服務正在運行,但藍牙掃描不工作。如果應用程序被殺害,服務可以做些什麼嗎?謝謝。Android後臺服務藍牙掃描
0
A
回答
0
不清楚這個問題。
但基於我對上述問題的理解,請查找我的輸入如下。 在極端情況下,如果Android系統需要內存,基於進程的重要性,它開始以最不重要的方式排序進程。在這種情況下,如果您的應用程序被殺死,那麼該應用程序的服務將無法繼續運行。它也被殺死了。
但是可以通過startForground()方法將該服務作爲前臺進程運行的進程,通過該進程它不太可能被殺死。
如果應用程序&整個應用程序的服務組件中的兩個不同的進程&運行整個應用程序就會被殺死,但過程與服務運行的進程正在運行還是有那麼一個需要檢查的相關性,如BluetoothAdapter組件或者這樣的事情被應用進程&殺死,請確保該服務是獨立運行在不同進程中的組件。
0
謝謝你的回答。問題是應用程序上下文不可用。我找到了一個解決方案。我啓動一個Alarmmanager並每15分鐘發一個意圖。這個意圖是由我自己的在AndroidManifest.xml中聲明的接收者處理的。如果處理意圖,應用程序上下文可用,我可以啓動該服務。
開始AlarmManager
Intent alarmIntent = new Intent(MyApp.getAppContext(),AlarmBroadcastReceiver.class);
PendingIntent pi = PendingIntent.getBroadcast(MyApp.getAppContext(), 0, alarmIntent, 0);
AlarmManager alarmMgr = (AlarmManager)MyApp.getAppContext().getSystemService(Context.ALARM_SERVICE);
alarmMgr.setInexactRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
AlarmManager.INTERVAL_FIFTEEN_MINUTES,
AlarmManager.INTERVAL_FIFTEEN_MINUTES, pi);
代碼在AndroidManifest.xml
<receiver
android:enabled="true"
android:name="com.example.AlarmBroadcastReceiver"
android:exported="false">
<intent-filter>
<action android:name="com.example.AlarmBroadcastReceiver.checkservice" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
接收機
package com.example;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class AlarmBroadcastReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context arg0, Intent arg1) {
}
}
申報接收機
相關問題
- 1. 藍牙掃描
- 2. 藍牙LE掃描Android
- 3. Android藍牙LE掃描UUID
- 4. 藍牙掃描C#
- 5. Android Marshmallow 6.0.1藍牙掃描未返回
- 6. Android的 - 藍牙 - 限制掃描範圍
- 7. 僅掃描一次Android藍牙設備
- 8. Android Froyo HTC Desire上的藍牙掃描
- 9. 如何使android藍牙保持掃描
- 10. 藍牙設備掃描
- 11. 藍牙掃描設備
- 12. iOS的藍牙後臺掃描與自定義uuid
- 13. 重新啓動藍牙重啓後的BLE掃描(ANDROID)
- 14. Android中後臺作爲服務的藍牙連接?
- 15. Android藍牙服務發現
- 16. Android藍牙服務禁用
- 17. Android中的藍牙服務
- 18. 提供Android的藍牙掃描的結果,即使藍牙功能已關閉
- 19. AltBeacon庫 - 減少藍牙掃描週期
- 20. 掃描附近的藍牙設備
- 21. Raspberry Pi3藍牙掃描問題
- 22. iOS,藍牙掃描儀塊wifi
- 23. 藍牙條碼掃描器iphone
- 24. 掃描任何藍牙設備在iOS
- 25. 藍牙掃描得到強制退出
- 26. 無法掃描藍牙設備
- 27. 藍牙LE掃描儀線程
- 28. 更改藍牙查詢掃描時間
- 29. 查詢掃描和藍牙堆棧
- 30. 在Qt中掃描藍牙設備