要解决“Android JobScheduler - setRequiredNetworkType 方法不起作用”的问题,您可以尝试以下解决方法:
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkCapabilities capabilities = connectivityManager.getNetworkCapabilities(connectivityManager.getActiveNetwork());
if (capabilities != null && capabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)) {
// 设备支持 WIFI 网络
} else {
// 设备不支持 WIFI 网络
}
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
Network network = connectivityManager.getActiveNetwork();
JobInfo.Builder builder = new JobInfo.Builder(jobId, new ComponentName(this, YourJobService.class));
builder.setRequiredNetwork(network);
builder.setRequiresCharging(true); // 其他设置
JobScheduler jobScheduler = (JobScheduler) getSystemService(Context.JOB_SCHEDULER_SERVICE);
jobScheduler.schedule(builder.build());
请注意,setRequiredNetwork 方法在 Android 10(API 级别 29)之后才可用。
通过以上方法,您可以尝试解决“Android JobScheduler - setRequiredNetworkType 方法不起作用”的问题。如果问题仍然存在,请确保您的代码没有其他问题,并且您的设备正常连接到所需的网络类型。