Android实现定时重启
·
设是ROOT过的或者设备商提供重启的API
public class DeviceAutoRebootService extends Service {
private ScheduledExecutorService threadPool = null;
private int betweenTime = 59;//间隔59秒执行一次
private int delayTime = 2;//线程池开启5庙后执行
private String time = "14:50";//重启时间一
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm", Locale.CHINA);
String[] rebootArray = {"su", "-c", "reboot"};//执行重启的命令
String dateStr = "";//获取的时间
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
threadPool = Executors.newScheduledThreadPool(3);
executeShutDown();
}
public void executeShutDown() {
threadPool.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
dateStr = sdf.format(new Date());
// root机子
// if (dateStr.equals(time) ) {
// try {
// Runtime.getRuntime().exec(rebootArray);
// } catch (IOException io) {
//
// }
// }
if (dateStr.equals(time)) {
App.getInstance().setHwitRebootSystem();
}
}
}, delayTime, betweenTime, TimeUnit.SECONDS);
}
@Override
public void onDestroy() {
threadPool.shutdown();
threadPool = null ;
dateStr = null ;
super.onDestroy();
}
}
更多推荐



所有评论(0)