簡體   English   中英

Android:從后台服務啟動活動

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM