5

システム設定の変更をリッスンして UI を更新するブロードキャスト レシーバーを作成しようとしています。

この方法で、Android マニフェストのインテント フィルターに一連のアクションを記述しました。

<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>

しかし、私はすべてのシステム設定の変更を聞く必要があります(オンからオフへの「自動回転」、またはその逆、自動からオフへの明るさ、またはその他のものなど)。

マニフェストに書き込めるアクションがあれば良いのですが。

どうもありがとう

4

2 に答える 2

2

これを行う方法は確かにありますが、放送受信機ではありません。オブザーバーを使用する必要があります。私はこれをオーディオコントロールで行い、ほぼ完璧に機能します。たまに、私が拾わない何かが変わるでしょうが、それはまれです。実装方法の詳細を示すリンクは次のとおりです。

設定オブザーバー

于 2012-11-13T18:24:33.893 に答える
1

しかし、私はすべてのシステム設定の変更を聞く必要があります(オンからオフへの「自動回転」またはその逆、自動からオフへの明るさなど)。

Intentほとんどの場合、それらに関連付けられたブロードキャストはありません。申し訳ありません。

于 2012-04-29T13:05:21.133 に答える