【发布时间】:2014-11-30 02:00:51
【问题描述】:
我想覆盖静音开关,以便在开关切换时创建一个新动作。 那么切换开关时触发的方法是什么?
谢谢
【问题讨论】:
标签: ios objective-c jailbreak cydia-substrate
我想覆盖静音开关,以便在开关切换时创建一个新动作。 那么切换开关时触发的方法是什么?
谢谢
【问题讨论】:
标签: ios objective-c jailbreak cydia-substrate
在 SpringBoard 中钩住这个方法
SBMediaController - (void)setRingerMuted:(char)
如果您只想观察 switch 事件,那么您可以像这样使用 darwin 通知中心观察系统范围的通知 com.apple.springboard.ringerstate
static void RingerStateChanged(CFNotificationCenterRef center, void *observer, CFStringRef name, const void *object, CFDictionaryRef userInfo)
{
}
CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(),
NULL,
RingerStateChanged,
CFSTR("com.apple.springboard.ringerstate"),
NULL,
CFNotificationSuspensionBehaviorDeliverImmediately);
【讨论】: