关于开发者模式开启的暗门
2016-11-23 09:57
344 查看
问题背景:
Android手机目前都采用点击版本号开启开发者模式。现在有需求就是修改开发者模式的触发条件。也就是不能为众所周知的开发者模式开启方法。
解决思路:
同样也在设置里找到一个条目进行点击。并且与上时间触发条件。这样触发条件就较为苛刻。不那么容易被发现了。
首先参考原来的开发者模式的触发代码。
packages/apps/Settings/src/com/android/settings/DeviceInfoSettings.java
findPreference(KEY_BUILD_NUMBER).setEnabled(true);//setEnabled(true)的设置条目点击后会进入下面这个函数进行回调。
@Override
public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
if (preference.getKey().equals(KEY_BUILD_NUMBER))//在这个回调里用preference判断当前点击的是哪个条目。
}
那么依葫芦画瓢儿就成了。
我们可以再当前文件下找到
private static final String KEY_DEVICE_PROCESSOR = "device_processor";//这个是处理器信息
//对应的条目设置setEnabled不然不会进到回调里面
findPreference(KEY_DEVICE_PROCESSOR).setEnabled(true); //对这个条目设置回调
@Override
public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
if (preference.getKey().equals(KEY_DEVICE_PROCESSOR)){//添加新的if项判断进来的条目是否为处理器信息
if(new SimpleDateFormat("yyyMMddHHmm").format(new Date()).equals("199707010012")) {//是处理器信息的话判断当前时间是否为特殊值
Intent intent = new Intent();//如果是特殊值,则设置intent,startActivity直接跳转开发者界面就好。
intent.setClassName("com.android.settings","com.android.settings.DevelopmentSettings");
startActivity(intent);
}
}
}
Android手机目前都采用点击版本号开启开发者模式。现在有需求就是修改开发者模式的触发条件。也就是不能为众所周知的开发者模式开启方法。
解决思路:
同样也在设置里找到一个条目进行点击。并且与上时间触发条件。这样触发条件就较为苛刻。不那么容易被发现了。
首先参考原来的开发者模式的触发代码。
packages/apps/Settings/src/com/android/settings/DeviceInfoSettings.java
findPreference(KEY_BUILD_NUMBER).setEnabled(true);//setEnabled(true)的设置条目点击后会进入下面这个函数进行回调。
@Override
public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
if (preference.getKey().equals(KEY_BUILD_NUMBER))//在这个回调里用preference判断当前点击的是哪个条目。
}
那么依葫芦画瓢儿就成了。
我们可以再当前文件下找到
private static final String KEY_DEVICE_PROCESSOR = "device_processor";//这个是处理器信息
//对应的条目设置setEnabled不然不会进到回调里面
findPreference(KEY_DEVICE_PROCESSOR).setEnabled(true); //对这个条目设置回调
@Override
public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
if (preference.getKey().equals(KEY_DEVICE_PROCESSOR)){//添加新的if项判断进来的条目是否为处理器信息
if(new SimpleDateFormat("yyyMMddHHmm").format(new Date()).equals("199707010012")) {//是处理器信息的话判断当前时间是否为特殊值
Intent intent = new Intent();//如果是特殊值,则设置intent,startActivity直接跳转开发者界面就好。
intent.setClassName("com.android.settings","com.android.settings.DevelopmentSettings");
startActivity(intent);
}
}
}
相关文章推荐
- 【转】C#微信公众平台开发者模式开启代码
- 【微信易信公众平台开发】开启开发者模式
- 第二篇 :微信公众平台开发实战Java版之开启开发者模式,接入微信公众平台开发
- 开启隐藏的开发者模式
- 关于为什么IE浏览器无法打开开发者模式的解决办法
- Discuz!X开发者模式开启
- 华为荣耀5X(畅玩版 全网通)USB调试模式如何开启教程(开发者模式 开发者选项打开)
- Win10开启开发者模式
- 【Html】关于服务器返回的dom和自己在开发者模式中看到的
- 关于开启url的pathinfo模式
- MIUI开启开发者模式以及使用chrome调试移动设备上打开的网页
- C#微信公众平台开发者模式开启代码
- 红米note中开启开发者模式
- 关于 个人订阅号 开启开发模式后无法开启 自定义菜单
- 在Windows 10中开启开发者模式
- magento开启开发者模式
- 关于“Ubuntu开发者创新大赛”正式开启的公告
- thinkphp开启开发者模式的好处 define('APP_DEBUG', true);
- 关于 RTL8723BS 同时开启 STA/AP 模式
- [置顶] 华为荣耀5X(畅玩版 全网通)USB调试模式如何开启教程(开发者模式 开发者选项打开)