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

IOS静音还是震动

2016-02-02 09:50 363 查看
[(SBMediaController *)[objc_getClass("SBMediaController") sharedInstance] isRingerMuted]

越狱环境

#define kSpringBoardPlist @"/var/mobile/Library/Preferences/com.apple.springboard.plist"

+ (BOOL)vibrateServicesEnabled

{

    NSDictionary *dict;

    if (kCFCoreFoundationVersionNumber >= 1000)

    {

        dict = [[NSUserDefaults standardUserDefaults] persistentDomainForName:@"com.apple.springboard"];

    }

    else

    {

        dict = [NSDictionary dictionaryWithContentsOfFile:kSpringBoardPlist];

    }

    

    BOOL enabled;

    if (![Function ringerMutedServicesEnabled]) {

        //非静音状态

        enabled = [[dict valueForKey:@"ring-vibrate"] boolValue];

    }

    else

    {

        //静音状态

        enabled = [[dict valueForKey:@"silent-vibrate"] boolValue];

    }
return enabled;

}

CFNotificationCenterAddObserver(center, NULL, SystemPostedNotification, CFSTR("com.apple.springboard.ringerstate"), NULL, CFNotificationSuspensionBehaviorCoalesce);

            CFNotificationCenterAddObserver(center, NULL, SystemPostedNotification, CFSTR("com.apple.springboard.ring-vibrate.changed"), NULL, CFNotificationSuspensionBehaviorCoalesce);

            CFNotificationCenterAddObserver(center, NULL, SystemPostedNotification, CFSTR("com.apple.springboard.ring-silent.changed"), NULL, CFNotificationSuspensionBehaviorCoalesce);

//回调

static void SystemPostedNotification(CFNotificationCenterRef center, void *observer, CFStringRef name, const void *object, CFDictionaryRef userInfo)

{

}

//audioToolBox

- (BOOL)slicend{
#if TARGET_IPHONE_SIMULATOR
    return
NO;
#endif
    CFStringRef state;
    UInt32 propertySize =
sizeof(CFStringRef);
    AudioSessionInitialize(NULL,
NULL, NULL,
NULL);
    AudioSessionGetProperty(kAudioSessionProperty_AudioRoute, &propertySize, &state);
    if(CFStringGetLength(state)>0){
        return
NO;
    }else
        return
YES;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: