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

某企业网站的设计与实现财务公司网站模板

某企业网站的设计与实现,财务公司网站模板,站开发技术培训,国外免费素材模板网站软件平台:Android11 硬件平台:QCS6125 需求来源:用户通过系统异常崩溃,进入原生Settings页面,通过默认的多击版本号方式打开开发者模式,继而打开adb调试开关,安装三方apk。 对付这种需求本来有…

软件平台:Android11

硬件平台:QCS6125

    需求来源:用户通过系统异常崩溃,进入原生Settings页面,通过默认的多击版本号方式打开开发者模式,继而打开adb调试开关,安装三方apk。

   对付这种需求本来有多种方案,比如通过PKMS里边加一些签名或者包名校验,防止三方apk后装,之前的博客里有记录过该方法,本篇只针对settings打开开发者模式的方式做复杂化处理,因为这个入口如果完全屏蔽对开发者可能不太友好。

    改动如下:

diff --git a/src/com/android/settings/core/BasePreferenceController.java b/src/com/android/settings/core/BasePreferenceController.java
index c90fe48bc9..0e92930fcc 100644
--- a/src/com/android/settings/core/BasePreferenceController.java
+++ b/src/com/android/settings/core/BasePreferenceController.java
@@ -126,6 +126,8 @@ public abstract class BasePreferenceController extends AbstractPreferenceControlprivate UserHandle mWorkProfileUser;private int mMetricsCategory;+     public static boolean isCombinationKey = false;
+/*** Instantiate a controller as specified controller type and user-defined key.* <p/>
diff --git a/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java b/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java
index 185c8eaca7..db091b2b83 100644
--- a/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java
@@ -184,7 +184,7 @@ public class BuildNumberPreferenceController extends BasePreferenceController imR.plurals.show_dev_countdown, mDevHitCountdown,mDevHitCountdown),Toast.LENGTH_SHORT);
-                mDevHitToast.show();
+                //mDevHitToast.show();}mMetricsFeatureProvider.action(
@@ -199,7 +199,7 @@ public class BuildNumberPreferenceController extends BasePreferenceController im}mDevHitToast = Toast.makeText(mContext, R.string.show_dev_already,Toast.LENGTH_LONG);
-            mDevHitToast.show();
+            //mDevHitToast.show();mMetricsFeatureProvider.action(mMetricsFeatureProvider.getAttribution(mActivity),MetricsEvent.FIELD_SETTINGS_BUILD_NUMBER_DEVELOPER_MODE_ENABLED,
@@ -230,14 +230,16 @@ public class BuildNumberPreferenceController extends BasePreferenceController im* Enables development settings. Only call this after confirming password.*/private void enableDevelopmentSettings() {
-        mDevHitCountdown = 0;
-        mProcessingLastDevHit = false;
-        DevelopmentSettingsEnabler.setDevelopmentSettingsEnabled(mContext, true);
-        if (mDevHitToast != null) {
-            mDevHitToast.cancel();
-        }
-        mDevHitToast = Toast.makeText(mContext, R.string.show_dev_on,
+        if(isCombinationKey) {
+            mDevHitCountdown = 0;
+            mProcessingLastDevHit = false;
+            DevelopmentSettingsEnabler.setDevelopmentSettingsEnabled(mContext, true);
+            if (mDevHitToast != null) {
+                mDevHitToast.cancel();
+            }
+            mDevHitToast = Toast.makeText(mContext, R.string.show_dev_on,Toast.LENGTH_LONG);
-        mDevHitToast.show();
+            //mDevHitToast.show();
+        }}}
diff --git a/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceController.java b/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceController.java
index caee987bd6..33478c3327 100755
--- a/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceController.java
@@ -19,6 +19,7 @@ package com.android.settings.deviceinfo.imei;import static android.telephony.TelephonyManager.PHONE_TYPE_CDMA;import android.content.Context;
+import android.os.Handler;import android.os.UserManager;import android.telephony.SubscriptionInfo;import android.telephony.SubscriptionManager;
@@ -46,6 +47,7 @@ public class ImeiInfoPreferenceController extends BasePreferenceController {private final TelephonyManager mTelephonyManager;private final List<Preference> mPreferenceList = new ArrayList<>();private Fragment mFragment;
+    private int mDevCount = 0;public ImeiInfoPreferenceController(Context context, String key) {super(context, key);
@@ -165,6 +167,15 @@ public class ImeiInfoPreferenceController extends BasePreferenceController {return true;}+        mDevCount++;
+        if (mDevCount == 10) {
+            isCombinationKey = true;
+            mDevCount = 0;
+            new Handler().postDelayed((Runnable) () -> {
+                isCombinationKey = false;
+            }, 30000);
+        }
+ImeiInfoDialogFragment.show(mFragment, simSlot, preference.getTitle().toString());return true;}

    这个改动设置一个标志位,在30s内点击相关栏10次才会设置,30s后次数自动清零重新累计,在该标志位设定后,原有的开发者模式多击才会生效,这里只是讲一个方法,具体哪个栏目可以灵活控制。

http://www.yayakq.cn/news/468766/

相关文章:

  • 为什么教育网站做的都很烂电子类网站模板
  • 自己做APP需要网站吗邢台网站推广怎么做
  • 全栈网站开发工程师在上阿里云做网站
  • 网站建设 自适应足球比赛直播回放
  • 国外网站空间租用费用个人性质网站名称
  • 重庆百度网站快速排名WordPress点链接没反应
  • 网站建设要学会什么学校建设门户网站的好处
  • 深圳手机机械网站建设微网站和微信公共平台的区别
  • 做网站域名哪里来网页制作什么主题好
  • 建设网站的文案范文跨境电商怎么做shopee
  • 怎么样销售关于网站建设网站建设小说毕业设计
  • 建设银行网站怎么查流水佛山建企业网站
  • 做付费软件网站wordpress 斜杠结尾
  • 番禺网站制作多少钱别人做的网站打不开
  • 赶集网网站建设ppt模板室内设计三维效果图
  • 电商网站建设的内容十大著名企业文化
  • 浙江杰立建设集团 网站首页网站价格表
  • 网站开发pc版与手机版快速排名软件案例
  • 网站开发验收网络推广就是做网站吗
  • 天津市建设 银行网站wordpress pc 和手机版
  • 冷链物流网站专业建设网站专家
  • 杭州网络科技网站导航网页
  • 工程造价信息网站免费的个人主页空间
  • 时尚手表网站软考网络工程师中级
  • 网站被管理员权限app定制开发哪里找
  • 网站建设的一般步骤备案的域名可以做盗版电影网站吗
  • 珍岛外贸网站建设空间设计公司网站
  • 桥头镇网站仿做中国建设银行个人网站银行
  • 面料做电商 哪个网站好python基础教程题库
  • dede 手机网站模板wordpress点击图片悬浮