Prüfen, ob Hintergrundeinschränkungsdaten aktiviert sind oder nicht?

Ich habe einen Dienst, der auf dem Hauptthread nicht im Hintergrund ausgeführt wird. Im Service überprüfe ich die Internetverbindung über den Broadcastreciver. Wenn ich @ aktivie Einschränkungsdaten aktiviert In den Einstellungen ist der Broadcastreciver in guter Absicht, aber die Internetverbindung (mobile Daten) ist für meine App deaktiviert, obwohl sie auf meinem Gerät vorhanden ist. Ich habe gesehendiese Frag, undandroid docs.

intentFilter.addAction("android.net.conn.ACTION_BACKGROUND_DATA_SETTING_CHANGED");
    intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");
    registerReceiver(this.connectionStatusReceiver, intentFilter);


private BroadcastReceiver connectionStatusReceiver = new BroadcastReceiver() {
    @Override
    public synchronized void onReceive(Context context, Intent intent) {
        log.info("connection state changed");            
        checkConnectionState();
    }
};

 getActiveNetworkInfo() - *will always display CONNECTED when i switch on *restriction**

Eine weitere Sache, wenn ich Hintergrunddaten einschränke, habe ichintent.getAction. Es wird immer @ zurückgegebandroid.net.conn.CONNECTIVITY_CHANGE. Wie kann ich überprüfen, ob Hintergrundbeschränkungsdaten ein- oder ausgeschaltet sind?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage