您的位置:首页 > 移动开发 > Android开发

关于开发者模式开启的暗门

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