【黑科技】釘釘自動打卡

所需環(huán)境:

1、JDK

2、Android SDK

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.text.SimpleDateFormat;

import java.util.Date;

import java.util.Timer;

import java.util.TimerTask;

public class DDingAutoClock {

public static void main(String[] args) {

Timer timer = new Timer();

timer.schedule(new Task(), 60 * 1000);

}

static class Task extends TimerTask {

public voidrun() {

String str = getCurrentTime();

if(str.equals("08:00")){

System.out.println("定時任務(wù)執(zhí)行");

//啟動叮叮

try {

execCommand("adb wait-for-device");

execCommand("adb shell am start -n com.alibaba.android.rimet/com.alibaba.android.rimet.biz.SplashActivity");

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

}

public static StringgetCurrentTime(){

SimpleDateFormat formatter? =? new? SimpleDateFormat? ("HH:mm");

Date curDate? =? new? Date(System.currentTimeMillis());//獲取當前時間

String? str? =? formatter.format(curDate);

System.out.println(str);

returnstr;

}

public static void execCommand(Stringcommand) throws IOException {

// start the lscommandrunning

//String[] args =? new String[]{"sh","-c",command};

Runtime runtime = Runtime.getRuntime();

Process proc = runtime.exec(command);? ? ? ? //這句話就是shell與高級語言間的調(diào)用

//如果有參數(shù)的話可以用另外一個被重載的exec方法

//實際上這樣執(zhí)行時啟動了一個子進程,它沒有父進程的控制臺

//也就看不到輸出,所以我們需要用輸出流來得到shell執(zhí)行后的輸出

InputStream inputstream = proc.getInputStream();

InputStreamReader inputstreamreader = new InputStreamReader(inputstream);

BufferedReader bufferedreader = new BufferedReader(inputstreamreader);

//readthe ls output

String line ="";

StringBuilder sb = new StringBuilder(line);

while((line = bufferedreader.readLine()) != null) {

//System.out.println(line);

sb.append(line);

sb.append("\n");

}

//使用exec執(zhí)行不會等執(zhí)行成功以后才返回,它會立即返回

//所以在某些情況下是很要命的(比如復(fù)制文件的時候)

//使用wairFor()可以等待命令執(zhí)行完成以后才返回

try {

if(proc.waitFor() != 0) {

System.out.println(proc.exitValue());

}

}

catch (InterruptedException e) {

System.err.println(e);

}

}

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,811評論 18 399
  • 一、 1、請用Java寫一個冒泡排序方法 【參考答案】 public static void Bubble(int...
    獨云閱讀 1,504評論 0 6
  • 一、流的概念和作用。 流是一種有順序的,有起點和終點的字節(jié)集合,是對數(shù)據(jù)傳輸?shù)目偝苫虺橄?。即?shù)據(jù)在兩設(shè)備之間的傳輸...
    布魯斯不吐絲閱讀 10,323評論 2 95
  • JAVA面試題 1、作用域public,private,protected,以及不寫時的區(qū)別答:區(qū)別如下:作用域 ...
    JA尐白閱讀 1,272評論 1 0
  • 閱讀完這篇文章,你有什么收獲? (文章標題:快速成長的秘訣,只有這兩點) 001 認真學(xué)習,腳踏實地 002 不忘...
    成為伍爾夫閱讀 211評論 0 0

友情鏈接更多精彩內(nèi)容