我正在制作一个包含Google地图的Android应用。在最小化应用程序的同时,不再搜索GPS。即使在地图最小化的情况下,也可以一直为该应用打开gps吗?
答案 0 :(得分:0)
@Sudipta(对于以前的Oreo版本,您必须使用Jobscheduler。
- 创建JobScheduler类
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
public class JobSchedulerClass extends JobService {
@Override
public boolean onStartJob(JobParameters params) {
return false;
}
@Override
public boolean onStopJob(JobParameters params) {
Intent startService = new Intent(this, YourServiceClass.class);
ContextCompat.startForegroundService(this, startService);
return false;
}
}
- 根据正在运行的设备的版本调用服务类和服务类
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
JobScheduler jobScheduler = (JobScheduler) context.getSystemService(Context.JOB_SCHEDULER_SERVICE);
JobInfo jobInfo = new JobInfo.Builder(11, new ComponentName(context, JobSchedulerClass.class))
.setRequiresBatteryNotLow(false)
.setMinimumLatency(100)
.setRequiredNetworkType(JobInfo.NETWORK_TYPE_NONE)
.build();
assert jobScheduler != null;
jobScheduler.schedule(jobInfo);
} else {
Intent startService = new Intent(context, YourServiceClass.class);
context.startService(startService);
}