当前位置:网站首页>闹钟场景识别
闹钟场景识别
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
边栏推荐
- Jerry's more accurate determination of abnormal address [chapter]
- What if Jerry's function to locate the corresponding address is not accurate sometimes? [chapter]
- MySQL common statements
- Precautions for latex formula
- SQL Server cursor circular table data
- Yarn resource scheduler
- How to quickly download vscode
- Let the LAN group use the remote device
- CentOS/Linux安装MySQL
- 高价买来的课程,公开了!phper资料分享
猜你喜欢
Detailed explanation of MapReduce calculation process
Yarn core parameter configuration
Source insight 4.0 FAQs
ID number verification system based on visual structure - Raspberry implementation
Chapter 120 SQL function round
Ueditor -- limitation of 4m size of image upload component
A diary of dishes | 238 Product of arrays other than itself
Introduction to wechat applet, development history, advantages of applet, application account, development tools, initial knowledge of wxml file and wxss file
Reading integrity monitoring techniques for vision navigation systems - 3 background
Solutions to common problems in visualization (VIII) solutions to problems in shared drawing area
随机推荐
What are Jerry's usual program exceptions? [chapter]
微信小程序简介、发展史、小程序的优点、申请账号、开发工具、初识wxml文件和wxss文件
MapReduce core and foundation demo
MySql常用语句
Chapter 120 SQL function round
Can Jerry's AES 256bit [chapter]
/Can etc / shadow be cracked?
任意文件读取漏洞 利用指南
VScode
Yarn resource scheduler
Xdotool key Wizard
Comparison and practice of prototype design of knowledge service app
CentOS/Linux安装MySQL
How to quickly download vscode
Read integrity monitoring techniques for vision navigation systems - 4 multiple faults in vision system
UDP basic learning
关于JUC三大常用辅助类
Reading integrity monitoring techniques for vision navigation systems - 5 Results
Embedded related surface (I)
期货开户哪个公司好?安全靠谱的期货公司谁能推荐几家?