格式化时弹出框选择
【思路】1、在滑动回调里发送广播给 BrightnessDialog 后台进行计算,同样以BrightnessDialog 的num值作为是否关闭对话框的标准。(解决:滑动时不会消失)2、在滑动回调将异步操作改为动态操作(解决:点击或滑动不能动态改变亮度值和动画效果)frameworks/base/packages/SystemUI/src/com/android/systemui/setting
核心思路: 滑动时用本机算法计算亮度值 按键时使用我发明的算法计算亮度值frameworks/base/packages/SystemUI/src/com/android/systemui/settings/BrightnessController.java如果滑动改变亮度,设置中的百分比计算算法会改变@Override public void onChanged(ToggleSlider
frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.javapublic int interceptKeyBeforeQueueing(KeyEvent event, int policyFlags) { case KeyEvent.KEYCODE_VOLUME_DOWN:
【思路】1、每次点击亮度键时,我们需要发送一个广播给BrightnessDialog 进行后台计算2、创建 num变量,表示 来回点击标志。3、BrightnessDialog.java 的后台, 判断对话框是否需要自动关闭,每三秒请求一次,以num为状态标准4、判断逻辑为:每次点击num+1,三秒后计时器请求判断对话框是否需要自动关闭,若num为0就会关闭,若num不为0,则继续显示且重新在后台
△注意:这里有一个坑点。功能我们Framework这边是实现了,但是有时候Ctrl+FN一旦组合使用后,会导致其他按键不正常,经排查是由于Ctrl键一直处于锁定状态(按下状态),为什么呢?我可以告诉你,这是驱动上报事件写的问题,因为我不知道驱动已经写好了这样的事件,导致自己写了一个估计与他们产生了冲突,只要是组合键他只会上报CTRL+FN的组合键值,并不会上报给我CTRL和FN的单个键值,所以导致
frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.javapublic long interceptKeyBeforeDispatching(IBinder focusedToken, KeyEvent event,int policyFlags) { case KeyEvent.
frameworks/base/packages/SystemUI/src/com/android/systemui/settings/BrightnessController.java底层算法得出来的结果依次为:35657、45474…64269对应着十个亮度档,所以我按照这个规则进行二次计算和判断即可private void updateSlider(float brightnessValue
frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.javapublic long interceptKeyBeforeDispatching(IBinder focusedToken, KeyEvent event,int policyFlags) { if (keyCode
【方法】SDK/frameworks/base$ grep “KEYCODE_MENU” ./ -nr 慢慢定位到了:NotificationShadeWindowViewController.javamView.setInteractionEventHandler(new NotificationShadeWindowView.InteractionEventHandler() {
frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java 在 interceptKeyBeforeDispatching 方法的亮度键的触发处:if (keyCode == KeyEvent.KEYCODE_BRIGHTNESS_UP || keyCode == KeyEvent.KEY
frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java在 interceptKeyBeforeDispatching 方法的亮度键的触发处:if (keyCode == KeyEvent.KEYCODE_BRIGHTNESS_UP || keyCode == KeyEvent.KEYC
ssda
frameworks/base/core/java/android/view/ViewRootImpl.java在 performFocusNavigation 方法的开头添加//wangrui In the video player interface, intercept the up and down keys android.app.ActivityManager a
frameworks/base/core/java/android/view/ViewRootImpl.javaprivate boolean performFocusNavigation(KeyEvent event) { switch (event.getKeyCode()) { case KeyEvent.KEYCODE_DPAD_LEFT:
frameworks/base/services/core/java/com/android/server/am/UserController.java检查是否有摄像头决定是否隐藏摄像头图标private void finishUserUnlockedCompleted(UserState uss) {++ int n = android.hardware.Camera.getNum
frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java 在 interceptKeyBeforeDispatching()锁屏时拦截所有亮度调节事件KeyguardManager keyguardManager = (KeyguardManager) ActivityThread.cu
frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java在 interceptKeyBeforeDispatching()播放视频时,拦截亮度事件++ android.app.ActivityManager am = (android.app.ActivityManager) mCo
理想效果:按一次Backspace键删掉一个字符packages/apps/ExactCalculator/src/com/android/calculator2/Calculator.java思路:先将 计算器APK内 Backspace键的删除效果删掉@Override public boolean onKeyUp(int keyCode, KeyEvent event) {
frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java在 interceptKeyBeforeQueueing()思路:锁屏后,拦截锁屏键事件KeyguardManager keyguardManager = (KeyguardManager) ActivityThread.curre
路径:frameworks/base/services/core/java/com/android/server/policy/GlobalActions.java【思路】1、自定义一个对话框去替换2、使用旧版的对话框这里我们选择最快的方法使用旧版对话框去显示public void showDialog(boolean keyguardShowing, boolean deviceProvisio
这里我遇到了 POWER 与 BREAK1、adb shell2、cd /system/usr/keylayout3、cat Generic.kl4、getevent5、一直点击Break键,查看它对应的文件:/dev/input/event76、getevent /dev/input/event77、得到如下值: 0004 0004 000700f9 0001 0098 00000001 000
路径: frameworks/base/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java【思路】1、在事件处理处,发送广播给
路径:frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java将这五个按键设为唤醒键即可isWakeKey = true;public int interceptKeyBeforeQueueing(KeyEvent event, int policyFlags) { c
路径:frameworks/base/packages/SystemUI/src/com/android/systemui/settings/BrightnessDialog.java由于对话框是一个Activity, finish 可以让界面销毁掉,再做个计时判断就可以了。@Override protected void onStart() { super.onStart()
C:\Users\Administrator.gradle\caches\modules-2\files-2.1
路径:packages/apps/Camera2/src/com/android/camera/settings/CameraSettingsActivity.java因为我这里的摄像头只有前置,所以如果还走后置摄像头逻辑就会出现BUG,所以我们需要将它注释掉private void setVisibilities() { PreferenceGroup resolution
路径:packages/apps/Camera2/src/com/android/camera/settings/PictureSizeLoader.java用 Collections 对相机具备的像素集合数据进行排序。s2与s1的先后顺序决定:将像素按高度从高到低还是从低到高进行排序s2.getHeight()-s1.getHeight()private List<Size>
路径:frameworks/base/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java源码中做了连续点击次数判断,按功能需求我们注释即可。private void maybeShowToastH(int newRingerMode) { int seenToastCount = Prefs.
路径:packages/apps/Camera2/src/com/android/camera/settings/CameraSettingsActivity.javaprivate void setEntries(Preference preference) { if (!(preference instanceof ListPreference)) {
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号