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

网站源码免费下载分享论坛广州网站优化服务

网站源码免费下载分享论坛,广州网站优化服务,找人做网站内容自己编辑吗,做app_需要先做网站吗软件平台: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.hkea.cn/news/221938/

相关文章:

  • 网站营销优化方案北京做的好的seo公司
  • 企业网站排名提升软件优化南宁seo优化
  • 创意合肥网站建设杭州seo公司排名
  • 网站专题页是什么中国十大关键词
  • 五月天做网站网络策划与营销
  • 高校网站如何建设论文谷歌官网下载
  • 做网站内容软件个人网站怎么做
  • 收废铁的做网站有优点吗海南百度推广开户
  • wordpress 二维码插件下载信阳搜索引擎优化
  • 个人网站二级域名做淘宝客企业推广策略
  • 厦门做网站seo的seo服务公司招聘
  • 安徽池州做企业网站百度搜索官方网站
  • 芜湖商城网站建设青岛百度快速优化排名
  • 我找伟宏篷布我做的事ko家的网站seoul怎么读
  • 即墨做网站优书网首页
  • 网站建设实践报告3000字放单平台
  • 中华人民共和国城乡住房建设厅网站seo技术外包
  • 网站做销售是斤么工作东莞网站营销推广
  • 做网站现在还行吗宁德市疫情
  • 响应式网站首页百度搜索资源
  • 工人找工作哪个网站好福州百度seo
  • 台湾做甜品的网站谷歌seo关键词排名优化
  • 织梦网站导入链接怎么做谷歌广告投放
  • 沈阳网站哪家公司做的好镇江关键字优化品牌
  • 台州本地做网站的做引流推广的平台600
  • 网站的导航用css怎么做网站外链查询
  • 青岛模版网站建设关键词优化按天计费
  • 高端网站建设服务器seo服务哪家好
  • 服装网站建设分析网站浏览器
  • 建站城企业邮箱怎么开通注册