在我们的应用中,我们希望将Wifi和蜂窝电话相关的电话分为两部分。我们已将目标设置为28。
下面的代码用于调度基于蜂窝的代码。但是,我们无法设置NETWORK_TYPE_CELLULAR
。
ComponentName componentName = new ComponentName(this, CellularJobServiceTest.class);
JobInfo jobInfo = new JobInfo.Builder(125,componentName)
.setRequiredNetworkType(JobInfo.NETWORK_TYPE_CELLULAR)
.setPeriodic(10000).build();
JobScheduler jobScheduler = (JobScheduler) getSystemService(JOB_SCHEDULER_SERVICE);
int resultCode = jobScheduler.schedule(jobInfo);
if(resultCode==JobScheduler.RESULT_SUCCESS){
Log.e(TAG,"Cellular : Job scheduled successfully");
}else{
Log.e(TAG,"Cellular : Job schedule failed.");
}
Android文档说NETWORK_TYPE_METERED
已过时,改为使用NETWORK_TYPE_CELLULAR
。
Android文档参考
此常数在API级别28中已弃用。蜂窝网络可能是 未计费或Wi-Fi网络可能已计费,因此这不是一个好方法 选择特定的交通工具。而是使用
NETWORK_TYPE_CELLULAR
或NetworkRequest.Builder.addTransportType(int)(如果您的工作需要 特定的网络传输。
但是Android Studio会引发 Wrong constant
错误。
如果我知道为什么无法设置它,那将真的很棒。预先感谢。