gpt4 book ai didi

java - Android:如何防止开发人员选项在下次启动时重置?

转载 作者:太空宇宙 更新时间:2023-11-04 14:36:41 25 4
gpt4 key购买 nike

这是我的第一篇文章,所以请耐心等待。我是 Paranoid Android ROM 的维护者,对 Java 非常陌生。基本上,我的设备需要永久启用“设置>开发人员选项”中的“禁用硬件覆盖”选项,以防止屏幕闪烁。问题是,一些“危险”的开发人员选项在下次启动时重置是正常的 AOSP 行为(尽管我个人不认为上述设置是危险的)。

如果有人能告诉我如何更改代码以使此特定设置的状态在下次启动时永久保留,我将不胜感激。

这是java文件: DevelopmentSettings.java

我感兴趣的字符串是“DisableOverlays”

对于此类事情,我完全是新手,因此非常感谢任何帮助。

谢谢。

编辑:这是启用禁用硬件覆盖时调用的文件(表示为 DebugDisableHWC): SurfaceFlinger.cpp

最佳答案

您应该拥有执行此操作所需的权限 - AndroidManifest.xml 中的 android:sharedUserId="android.uid.system"并且您的应用程序必须使用系统 key 进行签名。如果您有权限 - 这是代码:

private void writeDisableOverlays() {
try {
Method getService = Class.forName("android.os.ServiceManager").getMethod("getService", String.class);
IBinder flinger = (IBinder) getService.invoke(null, "SurfaceFlinger");
if (flinger != null) {
Parcel data = Parcel.obtain();
data.writeInterfaceToken("android.ui.ISurfaceComposer");
data.writeInt(1);
flinger.transact(1008, data, null, 0);
data.recycle();
}
} catch (Exception e) {
e.printStackTrace();
}
}

关于java - Android:如何防止开发人员选项在下次启动时重置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25486647/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com