簡體   English   中英

Android:如何創建可以監聽系統設置更改的接收器?

[英]Android: How to create a receiver that listen any changes of system settings?

我正在嘗試創建一個BroadCast接收器,以偵聽系統設置的任何更改以更新UI。

我以這種方式在Android清單上的intent-filter中編寫了一系列操作:

<receiver android:name=".Receiver_OnSettingChange">
    <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
            <action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
            <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
            <action android:name="android.intent.action.AIRPLANE_MODE" />
            <action android:name="android.media.RINGER_MODE_CHANGED" />
            <action android:name="android.intent.action.ACTION_POWER_CONNECTED" />
            <action android:name="android.intent.action.ACTION_POWER_DISCONNECTED" />
            <action android:name="android.bluetooth.adapter.action.STATE_CHANGED" />
            <action android:name="android.intent.action.BATTERY_CHANGED" />
            <action android:name="android.net.wifi.WIFI_AP_STATE_CHANGED" />
            <action android:name="android.net.conn.BACKGROUND_DATA_SETTING_CHANGED" />
            <action android:name="com.android.internal.telephony.MOBILE_DATA_CHANGED" />
            <action android:name="com.android.settings.GPS_STATUS_CHANGED" />
            <action android:name="android.nfc.action.ADAPTER_STATE_CHANGE" />
            <action android:name="android.location.PROVIDERS_CHANGED" />
            <action android:name="android.intent.action.USER_PRESENT" />
            <action android:name="com.android.sync.SYNC_CONN_STATUS_CHANGED" />                 
            <action android:name="android.intent.action.MEDIA_SCANNER_FINISHED" />
            <action android:name="android.intent.action.MEDIA_SCANNER_STARTED" />
            <action android:name="android.intent.action.MEDIA_UNMOUNTED" />
            <action android:name="android.intent.action.MEDIA_EJECT" />
            <action android:name="android.intent.action.MEDIA_MOUNTED" />
    </intent-filter>
    </receiver>

但我需要聆聽每一個系統設置的更改(例如,“自動旋轉”從打開變為關閉,反之亦然,亮度從自動變為關閉或其他,等等)。

如果可以在清單中寫一個動作,對我來說更好。

非常感謝

但我需要聆聽每一個系統設置的更改(例如,“自動旋轉”從打開變為關閉,反之亦然,亮度從自動變為關閉或其他,等等)。

抱歉,大多數沒有廣播的Intent

確實有一種方法可以做到這一點,但是廣播接收器卻沒有。 您需要使用觀察者。 我在音頻控制中執行此操作,效果幾乎完美。 偶爾會有一些我不會接聽的更改,但這很少見。 這是一個提供有關如何實現的詳細信息的鏈接。

設置觀察者

暫無
暫無

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

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