[英]Android: Start activity from background service
我目前正在開發一個 android 應用程序,該應用程序控制水泵等物聯網設備。 我們想實現一項功能,使應用程序能夠顯示某種警報(如來電),如果設備的某些傳感器值低於/高於特定閾值(例如溫度低於 0°),用戶需要確認/關閉該警報C) 即使應用程序被掛起、關閉或處於后台。
我讀過有關系統警報 windows 和后台服務的信息,但找不到有關如何實現此類功能的任何信息。
https://developer.android.com/guide/components/activities/background-starts
在上面的網頁上,他們 state 從后台啟動活動是非常受限的,只有在非常特殊的情況下才有可能。 所以我們的問題是,是否有可能做到這一點,如果可以,如何或是否有其他方法可以實現這一目標。 謝謝
是的,你當然可以通過 android 中的前台服務輕松實現這一點,但首先你必須在AndroidManifest.xml中的其他應用程序上添加 Draw 的權限,並請求用戶授予應用程序此權限,你可以通過此代碼執行此操作在您的前台服務 class 中擴展服務:
if (!Settings.canDrawOverlays(this)) {
Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + getPackageName()));
startActivityForResult(intent, 0);
}
要在foreground service class
中開始您的活動,您必須將此標志設置為您的意圖 object: Intent.FLAG_ACTIVITY_NEW_TASK
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.