Add network detect when boot

pull/232/head
FongMi 2 years ago
parent 503570ce1c
commit 2a66596b6a
  1. 36
      app/src/leanback/java/com/fongmi/android/tv/receiver/BootReceiver.java

@ -3,6 +3,13 @@ package com.fongmi.android.tv.receiver;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.Network;
import android.net.NetworkCapabilities;
import android.net.NetworkRequest;
import android.os.Build;
import androidx.annotation.NonNull;
import com.android.cast.dlna.dmr.DLNARendererService;
import com.fongmi.android.tv.App;
@ -13,7 +20,32 @@ public class BootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
DLNARendererService.Companion.start(App.get(), R.drawable.ic_logo);
LiveConfig.get().init().load();
registerCallback();
}
private void registerCallback() {
ConnectivityManager manager = (ConnectivityManager) App.get().getSystemService(Context.CONNECTIVITY_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) manager.registerDefaultNetworkCallback(new Callback());
else manager.registerNetworkCallback(new NetworkRequest.Builder().addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET).build(), new Callback());
}
static class Callback extends ConnectivityManager.NetworkCallback {
private boolean first;
@Override
public void onAvailable(@NonNull Network network) {
if (first) doJob();
else first = true;
}
@Override
public void onLost(@NonNull Network network) {
}
private void doJob() {
LiveConfig.get().init().load();
DLNARendererService.Companion.start(App.get(), R.drawable.ic_logo);
}
}
}

Loading…
Cancel
Save