我用广播接收器监听改变了的互联网连接。在前台,一切都很棒。但是当应用程序被杀死时它不起作用。
list :
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
我的广播接收器( NetworkReceiver ):
application.registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent{
}, new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));
网络约束:
public class NetworkConstraint implements Constraint {
@Override
public boolean isConnected() {
ConnectivityManager connectivityManager = (ConnectivityManager) application.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo != null && activeNetworkInfo.isConnected();
}
@Override
public void applyToJobInfo(@NonNull JobInfo.Builder jobInfoBuilder) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
jobInfoBuilder.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY);
}
}
}
细胞约束:
public class CellServiceConstraint implements Constraint {
@Override
public boolean isConnected() {
return new TelephonyServiceState().isConnected(application);
}
@Override
public void applyToJobInfo(@NonNull JobInfo.Builder jobInfoBuilder) {
}
}
最佳答案
请引用此链接 https://developer.android.com/training/monitoring-device-state/connectivity-monitoring.html . O 不支持 connectivity_change 操作。你可以尝试另一种方式。
关于android - 当应用程序被杀死时,互联网广播接收器不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56832218/