我想在一天的任何时候打开互联网连接时,都会自动启动后台服务。
只需编写一次简单的bash即可对ping google进行一次,如果您可以ping,那么您的互联网就可以在线了。开始编程。如果没有互联网,请停止该程序。
示例:
#!/bin/bash
if ping -q -c 1 -W 1 google.com >/dev/null;
then
sudo systemctl start YourProgram
else
sudo systemctl stop YourProgram
fi
现在只需根据需要更改代码。您甚至可以将其放置在循环中。
使用WorkManager
Constraints myConstraints = new Constraints.Builder() .setRequiredNetworkType(NetworkType.CONNECTED) .build();
PeriodicWorkRequest mywork= new PeriodicWorkRequest.Builder(DataCheckWorker.class, 24, TimeUnit.HOURS) .setConstraints(myConstraints) .build();
WorkManager.getInstance().enqueue(mywork);