我使用首选加载器将我的自定义设置加载到设置应用程序中。我想知道如何使设备重新启动从我的首选装载机设置面板。请帮帮我。提前谢谢。
我试过system("killall SpringBoard");,但什么也没发生。
发布于 2013-09-11 05:17:32
可能有很多方法可以做到这一点,但是有一种方法是利用和我在这个答案中使用的方法一样。本质上,问题在于您没有以足够的权限发出命令。
通过将killall SpringBoard命令移动到由SBSettings的特权守护进程运行的命令脚本中,您可以获得所需的特权。
见此处参考文件,在下调用外部函数和脚本.。
您将创建一个名为(例如)的可执行脚本com.mycompany.respring。在该脚本中,添加
#!/bin/sh
killall SpringBoard并将其保存在/var/mobile/Library/SBSettings/Commands下。然后,在偏好丛PSListController中添加以下代码:
#import <notify.h>和
notify_post("com.mycompany.respring");发布自定义通知将导致SBSettings的守护进程运行同名的脚本文件。当然,这会迫使您的包依赖于SBSettings (您可以将它放在包的DEBIAN/control文件中):
Depends: preferenceloader, sbsettings..。但由于它是免费的,稳定的,广泛的使用和喜爱,这似乎并不是一个很大的限制。
https://stackoverflow.com/questions/18725421
复制相似问题