当前位置:网站首页>闹钟场景识别
闹钟场景识别
2022-04-23 10:53:00 【法迪】
闹钟场景识别
闹钟可以包含如下wakelock特征:
- 闹钟音乐分类
- flags为屏幕亮度相关
- tag包含音频类型
- 锁屏场景中存在亮屏时长与持锁(持音频或屏幕亮度特征的锁)时长的差值为2秒内的场景,可以判定为闹钟场景之一
1. 闹钟音乐分类
package_name category
com.caynax.hourlychime CLOCK
com.gau.go.launcherex.gowidget.clockwidget CLOCK
com.xmei.notify CLOCK
com.dadawh.alarm CLOCK
com.mdbs.emome.calendar CLOCK
com.kaoyancalendar CLOCK
com.calendar.example CLOCK
com.updrv.lifecalendar CLOCK
com.scliang.bqcalendar CLOCK
me.iweek.wannianli CLOCK
com.smartisan.calendar CLOCK
net.daum.android.solcalendar CLOCK
com.example.wannianli16 CLOCK
info.androidx.lovelycalenf CLOCK
com.lgl.calendar CLOCK
com.youloft.calendar.almanac CLOCK
com.crossmo.calendar CLOCK
com.yunxi.calendar CLOCK
jp.co.johospace.jorte CLOCK
com.android.wallcal CLOCK
com.exuan.ecalendar CLOCK
com.missu.girlscalendar CLOCK
cc.etouch.ecalendar CLOCK
com.anydo.cal CLOCK
com.bdj.calendar CLOCK
com.cloud.calendar CLOCK
com.gau.go.launcherex.gowidget.calendarwidget CLOCK
com.example.t CLOCK
com.womanlog CLOCK
com.tyzhzxl.hongbaozs CLOCK
com.donhoo.yical CLOCK
com.love.idiary CLOCK
com.pdswp.su.smartcalendar CLOCK
com.wapu.calendar.app CLOCK
com.buestc.wallet CLOCK
org.ifate CLOCK
com.period.tracker.lite CLOCK
com.belllife.praywheelclient CLOCK
net.android.wzdworks.magicday CLOCK
info.kfsoft.calendar CLOCK
gucdxj.apps.chineselunar CLOCK
com.changmi.calendar CLOCK
com.missu.plq CLOCK
jp.co.cybird.apps.lifestyle.cal CLOCK
com.ttrl.calendar CLOCK
com.haibin.calendarviewproject CLOCK
com.qingxing.eventcalendarpro CLOCK
com.gucdxj.trhrwehtr CLOCK
se.catharsis.android.calendar CLOCK
com.doudoubird.calendar CLOCK
com.haoxin.ri CLOCK
org.withouthat.acalendar CLOCK
com.xm.calendarxx CLOCK
com.android.qidian.calendar CLOCK
info.androidx.lovelyfcalenf CLOCK
com.ymnet.calendar CLOCK
me.iweek.fsofs CLOCK
com.swan.swan CLOCK
android.daniel.app.calendar CLOCK
cn.com.vxia.vxia CLOCK
com.shengliulaohuangli CLOCK
com.android.bclearservice CLOCK
com.jixiang.rili CLOCK
com.hdhd.wannianli CLOCK
com.jianzhi.calendar CLOCK
com.nfbazi.LiuyaoDuangua CLOCK
com.nfbazi.xuankong CLOCK
com.gyk.foli CLOCK
com.atnote.yearcalendar.activity CLOCK
com.cyberlabo.android.dball CLOCK
info.androidx.ladycalenf CLOCK
com.yunqi.calendar CLOCK
com.seccalqs.calendar CLOCK
info.androidx.memocalenf CLOCK
com.peterweissapps.adventcalendar CLOCK
com.jinks.memorandum.activity CLOCK
com.droid27.transparentclockweather CLOCK
com.shuwei.almanacui CLOCK
com.julangling.xsgjz CLOCK
com.xiaoyu.yfl CLOCK
agc.iClock CLOCK
com.alarmclock.xtreme CLOCK
rubberbigpepper.TranslucentClock CLOCK
com.tmsoft.ledclock CLOCK
com.alarmclockultra.free CLOCK
ru.org.amip.ClockSync CLOCK
com.nextdev.alarm CLOCK
ch.bitspin.timely CLOCK
com.chung.clock_nac191 CLOCK
in.vineetsirohi.customwidget CLOCK
factory.widgets.SenseClockDark CLOCK
com.sportstracklive.stopwatch CLOCK
org.ntpsync CLOCK
com.smartisan.clock CLOCK
com.wangxue123.android CLOCK
com.zesto.clockf CLOCK
com.maapiid.typoclock CLOCK
com.tsf.shell.widget.alarm CLOCK
com.th.android.widget.gTabsimiClock CLOCK
com.malangstudio.alarmmon CLOCK
com.pybeta.daymatter CLOCK
com.using.checktime CLOCK
org.coolcode.stopwatch CLOCK
factory.widgets.HeroNight CLOCK
com.pxlartificer.minu CLOCK
com.aob.android.cd CLOCK
com.th.android.widget.SiMiClock CLOCK
com.tomatodo CLOCK
com.gtp.nextlauncher.widget.worldclockwidget CLOCK
com.drandxq.desktopclock CLOCK
com.geekyouup.android.ustopwatch CLOCK
com.ntsoft.android.flashlightclock CLOCK
com.eri.widget.binaryclock CLOCK
wan.util.barclock CLOCK
com.andronicus.ledclock CLOCK
nl.tvoverbeek.taiclock CLOCK
com.why.project.watchwidget CLOCK
com.runtastic.android.sleepbetter.lite CLOCK
com.buykee.beautyclock CLOCK
com.splunchy.android.alarmclock CLOCK
kuba.livewall.astroclock CLOCK
com.glgjing.baymax CLOCK
com.clockliveart.clockwithseconds CLOCK
wan.pclock CLOCK
com.androbeings.glowing.clock.locker.blue.free CLOCK
com.bojankogoj.giantclock CLOCK
com.lixiangdong.LCDWatch.Pro CLOCK
com.Night.Digital.ClockNewLWE CLOCK
upper.duper.widget.weather CLOCK
yco.dclock CLOCK
com.the7art.waterclock CLOCK
cn.menue.nightclock CLOCK
net.imoya.android.voiceclock.k CLOCK
com.uniqlo.wakeup CLOCK
com.alarmclock.xtreme.free CLOCK
com.droid27.d3flipclockweather CLOCK
com.timerqssmart.clock CLOCK
com.stockholm.meow CLOCK
c.widget.clock.normal CLOCK
com.david.deskclock CLOCK
com.style_7.digitalclocklivewallpaper_7 CLOCK
com.willy.moonberg.read.a.clock CLOCK
jp.co.REIRI.tokeinokeisan CLOCK
com.vm.android.clockwork.black2.lite CLOCK
umi.clock CLOCK
webrecord.ch.ptc CLOCK
com.suncammi4.live CLOCK
com.manzy.flashnotification CLOCK
com.csym.sleepdetector CLOCK
com.mengmeng.clock CLOCK
com.shwnl.calendar CLOCK
nl.jsource.retroclock.android CLOCK
com.bti.soundMeter CLOCK
com.android.deskclock CLOCK
2. flags为屏幕亮度相关
/**
* PARTIAL_WAKE_LOCK = 0x00000001
* SCREEN_DIM_WAKE_LOCK = 0x00000006
* SCREEN_BRIGHT_WAKE_LOCK = 0x0000000a
* FULL_WAKE_LOCK = 0x0000001a
* PROXIMITY_SCREEN_OFF_WAKE_LOCK = 0x00000020
* DOZE_WAKE_LOCK = 0x00000040
* DRAW_WAKE_LOCK = 0x00000080
* ACQUIRE_CAUSES_WAKEUP = 0x10000000
* ON_AFTER_RELEASE = 0x20000000
*/
private boolean isWindowBrightFlag(int flag) {
if(0x2000000A == flag || 0x3000001A == flag || 0x10000001 == flag || 0x1000001A == flag || 0x1000000A == flag || 0x1000001 == flag) {
return true;
} else {
return false;
}
}
3. tag包含音频类型
/**
* 处理Audio的持锁事件
*/
private void handleAudioWakeLockAcquired(int flags, String tag, int uid, int pid) {
HashMap hashMap;
if ("AudioMix".equals(tag)) {
hashMap = mActiveAudioMixWL;
synchronized (hashMap) {
mActiveAudioMixWL.put(uid, pid);
}
} else if ("AudioIn".equals(tag)) {
hashMap = mActiveAudioInWL;
synchronized (hashMap) {
mActiveAudioInWL.put(uid, pid);
}
}
}
4. 锁屏场景下持锁与亮屏的关系
锁屏场景中存在亮屏时长与持锁(持音频或屏幕亮度特征的锁)时长的差值为2秒内的场景,可以判定为闹钟场景之一
private void clockAppIdentify() {
if (Math.max(Math.max(mWbFlagTime, mAoTagTime), mScrOnTime) - Math.min(Math.min(mWbFlagTime, mAoTagTime), mScrOnTime) < 2000
&& mIDeviceState.isKeyguardPresent()) {
ArrayList<String> pkgList = mIAppManager.getPkgNameByUid(mContext, mUid);
ArrayList<String> pkgScreenLockList = null;
String frontPkg = mIScenario.getFrontPkg();
if (frontPkg == null || !frontPkg.equals(mFrontPkgWhenScreenOff)) {
for (String pkgName : pkgList) {
for (String skipPkg : mFilterNotClocks) {
if (pkgName != null && pkgName.startsWith(skipPkg)) {
Log.i("DeviceMonitor", "not clock app:" + pkgName);
return;
}
}
if (pkgName == null || frontPkg == null || pkgName.startsWith(frontPkg)) {
if (pkgScreenLockList == null) {
pkgScreenLockList = mIAppType.getAppsByType(9);
}
if (pkgScreenLockList != null && pkgScreenLockList.contains(pkgName)) {
Log.i("DeviceMonitor", "not clock app, it is screen lock:" + pkgName);
mFilterNotClocks.add(pkgName);
} else if (mIAppType.getAppType(pkgName) == 11) {
Log.i("DeviceMonitor", "not clock app, it is im app:" + pkgName);
mFilterNotClocks.add(pkgName);
} else {
int appType = mIAppType.getAppType(pkgName);
if (appType != -1) {
Log.i("DeviceMonitor", pkgName + " not unknown app,it has been set type as:" + appType);
} else {
Message msg = mHandler.obtainMessage(200);
msg.obj = pkgName;
mHandler.sendMessageDelayed(msg, 3000);
}
}
}
}
}
}
}
}
版权声明
本文为[法迪]所创,转载请带上原文链接,感谢
https://blog.csdn.net/su749520/article/details/124355986
边栏推荐
- 部署jar包
- 最强日期正则表达式
- Initial exploration of NVIDIA's latest 3D reconstruction technology instant NGP
- 定义链表(链表)
- 206. Reverse linked list (linked list)
- Manjaro installation and configuration (vscode, wechat, beautification, input method)
- Solutions to common problems in visualization (VIII) solutions to problems in shared drawing area
- Six practices of Windows operating system security attack and defense
- HuggingFace
- SQL Server cursor circular table data
猜你喜欢
SQL Server cursor circular table data
精彩回顾|「源」来如此 第六期 - 开源经济与产业投资
Initial exploration of NVIDIA's latest 3D reconstruction technology instant NGP
Swagger2 自定义参数注解如何不显示
GO接口使用
高价买来的课程,公开了!phper资料分享
Download and installation steps of xshell + xftp
Diary of dishes | Blue Bridge Cup - hexadecimal to octal (hand torn version) with hexadecimal conversion notes
【leetcode】199. Right view of binary tree
景联文科技—专业数据标注公司和智能数据标注平台
随机推荐
Can Jerry's AES 256bit [chapter]
任意文件读取漏洞 利用指南
Jinglianwen technology - professional data annotation company and intelligent data annotation platform
精彩回顾|「源」来如此 第六期 - 开源经济与产业投资
Anaconda3 installation
【leetcode】102. Sequence traversal of binary tree
Resolution and size of mainstream mobile phones
How to Ping Baidu development board
Is the pointer symbol of C language close to variable type or variable name?
Visualized common drawing (II) line chart
SQL Server cursor circular table data
Learning Notes 6 - Summary of several deep learning convolutional neural networks
App. In wechat applet JS files, components, APIs
CentOS/Linux安装MySQL
Charles function introduction and use tutorial
STM32接电机驱动,杜邦线供电,然后反烧问题
Simple thoughts on the design of a microblog database
203. Remove linked list elements (linked list)
SWAT—Samba WEB管理工具介绍
Understand the key points of complement