[英]Foregound Service start action from MainActivity
我正在開發一個 Android 跌倒檢測應用程序。 當用戶跌倒時,帶定時器的鬧鍾打開,如果用戶在 15 秒內沒有點擊取消,應用程序會發送短信給聯系人。 當應用程序打開時一切正常,但我不知道我的前台服務應該如何工作。 是否有可能讓前台服務像那樣工作 - 在檢測到前台服務打開應用程序並從主活動運行計時器之后?
前台服務打開 MainActivity 的代碼:
Intent myIntent= new Intent(this, MainActivity.class);
myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(myIntent);
您的用例有兩個障礙:
首先,從 Android 10 開始,當您的應用程序在后台時啟動 Activity 有新的限制(正如它在 android 開發者頁面上所寫的那樣,即使有前台服務,如果沒有 Activity,您的應用程序也會被考慮在后台運行在前台)。 因此,您將無法向用戶“彈出”視圖,除非您的目標版本小於 29(但不是很推薦)。
其次,自 2019 年初以來,Google Play 開發者政策已更新,您不能再使用 SEND_SMS 權限,除非您能在發布控制台中證明您的應用是 SMS 處理程序並且您需要用戶注冊它作為默認值。 因此,您將無法直接發送自動短信。
您可以嘗試更改通知消息以提醒用戶並嘗試讓他單擊通知以打開活動。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.