[英]Internet broadcast receiver is not working when app is killed
我聽廣播接收器改變了互聯網連接。 在前台,一切都很棒。 但是當應用程序被殺死時它不起作用。
顯現:
<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 操作。 你可以試試另一種方式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.