我有一个应用程序需要表现不同取决于"找到我的手机"功能已在三星手机上启用。
据我所知,目前只有Galaxy S5启用此功能,但众所周知,它存在于许多三星手机的代码库和硬件中,并且软件更新可以轻松地在各种手机上激活它。
我已经对frame.jar文件进行了deodex,搜索了一些自定义的三星隐藏/内部API,它会显示这是否已激活,但到目前为止,这种情况无法正常工作。我还查看了“设置”应用程序本身中的安全设置代码,但发现代码依赖于几个导入,这些导入在标准Android API中未包含或可用(据我所知)。
是否有办法在Android应用中检测通过代码,可能使用隐藏或内部API,是否在Samsung设备上启用了“查找我的手机”功能?
答案 0 :(得分:1)
事实证明,尽管过去几天我已经花了四五个小时解决这个问题,但我自己已经处理好这个问题了。
在深入了解三星S5设置应用的反编译版本后,我找到了两个用于控制这些功能的系统设置的关键字符串:lock_my_mobile
和remote_control
。
他们是实际的系统设置,因此可以轻松阅读。
Settings.System.getInt(getContentResolver(), "lock_my_mobile", 0);
Settings.System.getInt(getContentResolver(), "remote_control", 0);
如果"重新激活锁定" lock_my_mobile
为1已启用。 remote_control
是1,如果"远程控制"已启用。如果禁用它们为0。
不幸的是,它作为魔术字符串存在,并且无法通过final String
中的任何Settings.System
文字访问。哦 - 好吧 - 至少它在那里,至少它是有效的。