Android 實(shí)現(xiàn)企業(yè)微信自動(dòng)打卡任務(wù)同時(shí)支持釘釘急速打卡模式

補(bǔ)充

apk下載
地址:https://wws.lanzoui.com/icQiUrqtkna
密碼:52pj

今天早上8.35打的卡 而我9點(diǎn)才來公司


1

前言

之前公司一直是彈性工作制 以工作任務(wù)為目標(biāo) 自由上下班
日子過的不亦樂乎

自從人事來了以后 就頒布了第一條法令


1

看到這個(gè)無疑的痛苦的 對(duì)于一個(gè)幾年沒有打卡散人來說!!!
同時(shí)公司的財(cái)務(wù)小姐姐和其他同事也硬邀 工程師來開發(fā)一個(gè)腳本任務(wù) 來執(zhí)行自動(dòng)打卡

聽起來好像還不錯(cuò)
為了大家的福利 說干就擼起袖子


cici.gif

準(zhǔn)備工作

要先完成app之間的跳轉(zhuǎn)
首先先拿到企業(yè)微信的包名釘釘?shù)陌?/code>
這個(gè)無論你是adb命令實(shí)現(xiàn) 還是百度直接找 都很方便


ADB命令方式

  1. 依舊數(shù)據(jù)線連接手機(jī),注意都是調(diào)試模式哈贝淤,不然電腦無權(quán)訪問手機(jī)
  2. 電腦端Crtl+R 輸入cmd 回車
  3. 輸入 adb devices 檢驗(yàn)是否成功連接手機(jī)
  4. 輸入 adb shell 進(jìn)入手機(jī)的shell
  5. 輸入 pm list packages 顯示所有應(yīng)用包名

1

通過命令獲取到 釘釘?shù)陌?code>com.alibaba.android.rimet

通過命令獲取到 企業(yè)微信的包名:com.tencent.wework

也可以直接百度搜


在這里插入圖片描述

拿到包名以后要做的任務(wù) 就是啟動(dòng)定時(shí)器完成應(yīng)用跳轉(zhuǎn) 達(dá)到喚醒應(yīng)用的效果
因?yàn)槠髽I(yè)微信和釘釘急速打卡只要打開app在指定的打卡范圍內(nèi)就可以自動(dòng)打卡

ok 我們已知這個(gè)條件以后 就很方便寫程序了

實(shí)現(xiàn)流程

啟動(dòng)前臺(tái)服務(wù)

 //啟動(dòng)服務(wù)
Intent intentService = new Intent(MainActivity.this, AutomaticTaskService.class);
startService(intentService);

不斷的刷新通知任務(wù)

 NotificationCompat.Builder builder = new NotificationCompat.Builder(context);
        builder.setSmallIcon(R.mipmap.timer_task);
        builder.setContentTitle("新消息").setContentText("這是一條定時(shí)任務(wù)");       
        startForeground(1, builder.build());

在服務(wù)中起了一個(gè)定時(shí)的線程來根據(jù)設(shè)置的時(shí)間跳轉(zhuǎn)指定包名的app

   new Thread() {
            @Override
            public void run() {
                super.run();
                while (isRun) {
                    //你需要執(zhí)行的任務(wù)
                    try {
                        Thread.sleep(50000);
                    } catch (InterruptedException es) {
                        es.printStackTrace();
                    }

                    //實(shí)例化SharedPreferences對(duì)象(第一步)
                    SharedPreferences mySharedPreferences = getSharedPreferences("shared", Activity.MODE_PRIVATE);

                    String starTime = mySharedPreferences.getString("startTime", "");
                    String endTime = mySharedPreferences.getString("endTime", "");

                    Log.e(TAG, " starTime -------- " + starTime);
                    Log.e(TAG, " endTime  --------- " + endTime);

                    String strTime = getSystemTime() + "";
                    strTime = strTime.substring(0, 5);
                    Log.e(TAG, " 系統(tǒng)時(shí)間 --------- " + strTime);
                    if (strTime.equals(starTime)) {
                        //設(shè)置了上班打卡時(shí)間
                        ImplementUtils.openTask(getBaseContext());
                    } else if (strTime.equals(endTime)) {
                        //設(shè)置了下班打卡時(shí)間
                        ImplementUtils.openTask(getBaseContext());
                    }
                }
            }
        }.start();     
        //走OnDestory停止的服務(wù)柒竞,系統(tǒng)保留了service的onStartCommand方法中的變量,等待系統(tǒng)重啟此服務(wù)
        return START_STICKY;
    }

應(yīng)用跳轉(zhuǎn)那塊的代碼都是死的


在這里插入圖片描述
        //設(shè)置意圖
        Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null);
        resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER);
        if (packageInfo != null) {
            resolveIntent.setPackage(packageInfo.packageName);
        }
        List<ResolveInfo> apps = packageManager.queryIntentActivities(resolveIntent, 0);
        ResolveInfo resolveInfo = apps.iterator().next();
        if (resolveInfo != null && packageInfo != null) {
            String className = resolveInfo.activityInfo.name;
            Intent intent = new Intent(Intent.ACTION_MAIN);
            intent.addCategory(Intent.CATEGORY_LAUNCHER);
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            Log.e(TAG, "packageName ------------" + packageInfo.packageName);
            ComponentName cn = new ComponentName(packageInfo.packageName, className);
            intent.setComponent(cn);
            PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
            pendingIntent.send();
         }

實(shí)現(xiàn)效果

[圖片上傳失敗...(image-bbe39d-1626878451991)]

總結(jié)

在幫助大家同時(shí) 自己又學(xué)習(xí)了知識(shí) 何樂而不為呢霹娄?啊哈哈哈


在這里插入圖片描述
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末能犯,一起剝皮案震驚了整個(gè)濱河市鲫骗,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌踩晶,老刑警劉巖执泰,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異渡蜻,居然都是意外死亡术吝,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門茸苇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來排苍,“玉大人,你說我怎么就攤上這事学密√匝茫” “怎么了?”我有些...
    開封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵腻暮,是天一觀的道長(zhǎng)彤守。 經(jīng)常有香客問我,道長(zhǎng)哭靖,這世上最難降的妖魔是什么具垫? 我笑而不...
    開封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮试幽,結(jié)果婚禮上筝蚕,老公的妹妹穿的比我還像新娘。我一直安慰自己铺坞,他們只是感情好起宽,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著康震,像睡著了一般燎含。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上腿短,一...
    開封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天屏箍,我揣著相機(jī)與錄音,去河邊找鬼橘忱。 笑死赴魁,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的钝诚。 我是一名探鬼主播颖御,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了潘拱?” 一聲冷哼從身側(cè)響起疹鳄,我...
    開封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎芦岂,沒想到半個(gè)月后瘪弓,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡禽最,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年腺怯,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片川无。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡呛占,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出懦趋,到底是詐尸還是另有隱情晾虑,我是刑警寧澤,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布仅叫,位于F島的核電站走贪,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏惑芭。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一继找、第九天 我趴在偏房一處隱蔽的房頂上張望遂跟。 院中可真熱鬧,春花似錦婴渡、人聲如沸幻锁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽哄尔。三九已至,卻和暖如春柠并,著一層夾襖步出監(jiān)牢的瞬間岭接,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來泰國(guó)打工臼予, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留鸣戴,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓粘拾,卻偏偏與公主長(zhǎng)得像窄锅,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子缰雇,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容