BroadcastReceiver не работают, когда активность не сфокусирована - PullRequest
0 голосов
/ 27 июня 2019

Мой широковещательный приемник

public class ConnectionChangeReceiver extends BroadcastReceiver {

private Context mContext;
@Override
public void onReceive(Context context, Intent intent) {
    ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();
    Intent mIntent = new Intent(context, PlayerService.class);
    if (activeNetInfo != null && activeNetInfo.isConnectedOrConnecting()) {
        Log.i("TEST", "true");
            context.startService(mIntent);
        }
        listener.onConnected(true);
    } else {
        Log.i("TEST", "false");
        context.stopService(mIntent);
        listener.onConnected(false);
    }
}

interface OnConnectedListener {
    void onConnected(boolean isConnected);
}

void setOnConnectedListener(OnConnectedListener listener) {this.listener = listener;}

Manifest

<receiver android:name="com.vadimfedchuk1994gmail.radio.ConnectionChangeReceiver"
              android:label="NetworkConnection">
        <intent-filter>
            <action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
        </intent-filter>
    </receiver>

В действии

registerReceiver(mConnectionChangeReceiver, new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));

Когда моя деятельность сосредоточена, приемник работает хорошо но активность не фокусируется, в журнале не пропускается сообщение об изменении сетевого подключения, как этот Log.i ("TEST", "true"); Мне нужно, чтобы приемник работал всегда

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...