Android实现钉钉⾃动打卡
各种动物废话不说,直接进⼊正题。
两种思路:
第⼀种思路:实现随时打卡,这种⽅式的实现的前提条件是:
1.⼀个能打电话的⼿机(发不指令的),⼀部能接电话的智能机(接受指令打卡⽤的),App通过监听某个号码的来电,去触发启动钉钉的⽅法
2.设置钉钉上下班⾃动打卡的功能,⼿机设置不锁屏(锁屏了就⽆法启动钉钉的⾃动打卡功能了)
实现:
写⼀个简单的app,注册静态⼴播监听特定⼿机的来电(防⽌其他电话误操作),限定某个时间段,然后再启动钉钉。
private void openDing(Context context) {
try {
String time = TimeUtils.date2String(new Date(), new SimpleDateFormat("HH.mm", Default()));
float parFloat = Float.parFloat(time);
if ((parFloat < 9 && parFloat >6) || (parFloat > 18 && parFloat < 23)){信心的力量
OpenDing.openDing("com.alibaba.android.rimet",context);//吊起钉钉
}
}catch (Exception e){
e.printStackTrace();
}
幼儿园奖惩制度}
<receiver android:name=".mvp.view.activity.PhoneBroadcastReceiver">
<intent-filter android:priority="1000">
//电话状态改变时,发送的⼴播 (振铃,挂断,接通)
<action android:name="android.intent.action.PHONE_STATE"/>
</intent-filter>
</receiver>
<us-permission android:name="android.permission.READ_PHONE_STATE"/>
第⼆种思路:设置监听,随机的在某个时间范围内启动钉钉并⾃动打卡,优点是不需要两个有SIM卡的⼿机。实现的前提条件是:
1.公司放⼀部安装了钉钉的⼿机,设置上下班⾃动打卡的功能
2.⼿机设置不锁屏
每天吃几颗红枣有什么好处实现思路
第⼆种更简单,只要写⼀个定时器,在指定时间范围内(例如07:00~9:00),去调⽤OpenDing.openDing()⽅法启动钉钉,然后让钉钉⾃动打卡功能帮你上班打卡!
一年级朗诵
实现定时器功能很简单,相信各位⼤佬都⼏分钟就能写出来,这⾥就不复制了。
最后附上启动钉钉的关键⽅法
核⼼思想很简单,就是通过代码或者adb命令等⽅式获取钉钉的包名,然后通过包管理器启动它就可以了
public static void openDing(String packageName,Context context) {
PackageManager packageManager = PackageManager();
PackageInfo pi = null;
try {
pi = PackageInfo("com.alibaba.android.rimet", 0);
} catch (PackageManager.NameNotFoundException e) {
}
Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null);
resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER);
中堂镇resolveIntent.tPackage(pi.packageName);
List<ResolveInfo> apps = packageManager.queryIntentActivities(resolveIntent, 0);
ResolveInfo resolveInfo = apps.iterator().next();
追悼if (resolveInfo != 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);
ComponentName cn = new ComponentName(packageName, className);
intent.tComponent(cn);
销售高手
context.startActivity(intent);
}
}
对,就是这么简单!