簡體   English   中英

ACTION_SCREEN_OFF后台服務觸發器

[英]ACTION_SCREEN_OFF background service trigger

我有一個通過AlarmManager觸發的通知,該通知也播放聲音。

顯然,當應用程序在后台運行時,可能會觸發警報,並且我想讓用戶在按下鎖定按鈕時取消聲音-即監聽ACTION_SCREEN_OFF

因此,我想知道是否有可能啟動服務並監聽ACTION_SCREEN_OFF嗎?

我已經看到了偵聽ACTION_SCREEN_OFF,但是只有在應用程序處於前台時,這種具有BroadCastReceiver的解決方案才似乎起作用。 對?

例如,如果您嘗試執行ACTION_SCREEN_OFF,則可以在“活動”中定義廣播接收器,例如,該接收器將啟動警報。

public class SomeListener extends BroadcastReceiver 
{
    @Override
    public void onReceive(Context context, Intent intent) 
    {
      //Turn off sounds
    }
}

然后在清單中使用偵聽器的活動中提供類似此類的內容。

<intent-filter>
    <action  android:name="android.hardware.usb.action.ACTION_SCREEN_OFF" />
</intent-filter>
<meta-data android:name="android.hardware.usb.action.ACTION_SCREEN_OFF"
                         android:resource="@xml/my_filter" />

額外的my_filter類可以提供其他元數據的地方。 在這種情況下,這是針對設備的串行或UUID的檢查,因此不能在所有USB連接上啟動。 但是您應該能夠執行類似的操作。

無論如何,據我所知,這將在您的應用程序內觸發監聽器。 過去,此功能適用於在USB連接上啟動應用程序。 即使沒有首先打開應用程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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