当前位置: 首页 > news >正文

Android DisplayPolicy增加一些动作,打开后台接口

Android DisplayPolicy增加一些动作,打开后台接口

  • 前言
  • 一、了解android全局滑动事件的拦截
  • 二、修改
    • 1.DisplayPolicy.java修改


前言

一些后台接口 界面之类的不方便打开,但是测试需要用到,这里就添加一个10秒内上拉6下,打开一个后台接口界面的


一、了解android全局滑动事件的拦截

参考该文章Android10添加 全局左右滑动返回

二、修改

1.DisplayPolicy.java修改

onSwipeFromBottom中发送MSG_OPEN_FACTORY_COUNT 判断次数,同时重置MSG_OPEN_FACTORY_COUNT_REMOVE 的 10S时间,10S内FACTORY_COUNT次数大于6才会打开界面

diff --git a/alps/frameworks/base/services/core/java/com/android/server/wm/DisplayPolicy.java b/alps/frameworks/base/services/core/java/com/android/server/wm/DisplayPolicy.java
index be79d02a47..bd14e9a781 100644
--- a/alps/frameworks/base/services/core/java/com/android/server/wm/DisplayPolicy.java
+++ b/alps/frameworks/base/services/core/java/com/android/server/wm/DisplayPolicy.java
@@ -119,6 +119,7 @@ import android.app.LoadedApk;import android.app.ResourcesManager;import android.app.StatusBarManager;import android.content.Context;
+import android.content.ComponentName;import android.content.Intent;import android.content.pm.PackageManager;import android.content.res.Resources;
@@ -392,9 +393,15 @@ public class DisplayPolicy {private static final int MSG_DISPOSE_INPUT_CONSUMER = 3;private static final int MSG_ENABLE_POINTER_LOCATION = 4;private static final int MSG_DISABLE_POINTER_LOCATION = 5;
+       
+    private static final int MSG_OPEN_FACTORY_COUNT = 99;
+    private static final int MSG_OPEN_FACTORY_COUNT_REMOVE = 100;
+    private static final int MSG_OPEN_FACTORY = 101;private static final int MSG_REQUEST_TRANSIENT_BARS_ARG_STATUS = 0;private static final int MSG_REQUEST_TRANSIENT_BARS_ARG_NAVIGATION = 1;
+       
+       private int FACTORY_COUNT=0;private class PolicyHandler extends Handler {@@ -423,10 +430,35 @@ public class DisplayPolicy {break;case MSG_DISABLE_POINTER_LOCATION:disablePointerLocation();
+                    break;
+                               case MSG_OPEN_FACTORY_COUNT:
+                    FACTORY_COUNT++;
+                                       removeMessages(MSG_OPEN_FACTORY_COUNT_REMOVE);
+                                       if(FACTORY_COUNT>5){
+                                               sendEmptyMessage(MSG_OPEN_FACTORY_COUNT_REMOVE);
+                                               sendEmptyMessage(MSG_OPEN_FACTORY);
+                                       }else{
+                                               sendEmptyMessageDelayed(MSG_OPEN_FACTORY_COUNT_REMOVE,10000);
+                                       }
+                    break;
+                               case MSG_OPEN_FACTORY_COUNT_REMOVE:
+                    FACTORY_COUNT=0;
+                    break;                     
+                               case MSG_OPEN_FACTORY:
+                    openFactoryApp();break;}}}
+       
+       private void openFactoryApp(){
+               Intent intent = new Intent();  
+               intent.setComponent(new ComponentName("xxxxx","xxxxxx"));
+               intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+               mContext.startActivityAsUser(intent,UserHandle.CURRENT);
+       }DisplayPolicy(WindowManagerService service, DisplayContent displayContent) {mService = service;
@@ -477,6 +509,7 @@ public class DisplayPolicy {@Overridepublic void onSwipeFromBottom() {Slog.i("clifetest","DisplayPolicy onSwipeFromBottom");if (mNavigationBar != null && mNavigationBarPosition == NAV_BAR_BOTTOM) {requestTransientBars(mNavigationBar);}
+						mHandler.sendEmptyMessage(MSG_OPEN_FACTORY_COUNT);}
http://www.lryc.cn/news/196930.html

相关文章:

  • 基于Linux安装Hive
  • FPGA 图像缩放 1G/2.5G Ethernet PCS/PMA or SGMII实现 UDP 网络视频传输,提供工程和QT上位机源码加技术支持
  • 重复控制逆变器的仿真分析研究
  • WuThreat身份安全云-TVD每日漏洞情报-2023-10-18
  • 开启机器人学新时代,《机器人学建模、规划与控制》完美诠释未来
  • C#根据ip获取地理位置信息的方法,史上最全
  • Git问题汇总
  • 【linux 0.11 学习记录】一、环境配置,用Bochs输出hello world
  • 【LeetCode75】第七十三题 用最少数量的箭引爆气球
  • 航天科技×辰安科技 打造智慧化工园区安全保障平台
  • 6-2 分治法求解金块问题
  • A062-防火墙安全配置-配置Iptables防火墙策略
  • Java包装类
  • 常用字符字符串处理函数
  • 【汇编语言特别篇】DOSBox及常用汇编工具的详细安装教程
  • 【牛客网刷题(数据结构)】:环形链表的约瑟夫问题
  • 虾皮印尼买家号如何注册
  • SpringBoot WebService服务端客户端使用教程
  • 【Python 千题 —— 基础篇】字符串长度
  • AIGC - 入门向量空间模型
  • python中使用xml.dom.minidom模块读取解析xml文件
  • 计算机网络第一章补充整理(计算机网络体系结构)
  • 2023_Spark_实验十七:导入招聘大数据(项目)
  • 小程序无感刷新
  • Unity C#随笔:简述String和StringBuilder的区别
  • 图论相关算法
  • Python人工智能需要学什么
  • Java 获取请求真实IP
  • Python突破浏览器TLS/JA3 指纹
  • web安全之XSS攻击