我想保持我的iPhone從振動時,它在靜音模式,即使是在設置。我想從應用程序中以編程方式執行此操作。這是給我的,所以我可以使用私人API。是否有管理設置中的聲音的api?你知道任何解決方案嗎?的iOS關掉震動靜音編程[私有API]
謝謝
弗洛
我想保持我的iPhone從振動時,它在靜音模式,即使是在設置。我想從應用程序中以編程方式執行此操作。這是給我的,所以我可以使用私人API。是否有管理設置中的聲音的api?你知道任何解決方案嗎?的iOS關掉震動靜音編程[私有API]
謝謝
弗洛
我認爲下面的代碼可以做的伎倆。你需要從某個地方觸發它(不知道你是否希望它被按下或從應用程序中觸發)。
NSString *sbPath = @"/var/mobile/Library/Preferences/com.apple.springboard.plist";
NSMutableDictionary *sbDict = [[NSMutableDictionary alloc] initWithContentsOfFile:sbPath];
[sbDict setValue:[NSNumber numberWithBool:NO] forKey:@"silent-vibrate"];
[sbDict writeToFile:filePath atomically: YES];
notify_post("com.apple.SpringBoard/Prefs");
還沒有嘗試過自己,但發現像你在找什麼在Smartvibrate好辦法。這將更改設置參數,因此應該在應用程序完成時將其更改爲開。
希望有幫助!
更新IOS 8:
NSMutableDictionary *dict; BOOL newState = NO;
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
dict = [[defaults persistentDomainForName:@"com.apple.springboard"] mutableCopy] ?: [[NSMutableDictionary alloc] init];
NSNumber *value = [NSNumber numberWithBool:newState];
[dict setValue:value forKey:@"ring-vibrate"];
[dict setValue:value forKey:@"silent-vibrate"];
[defaults setPersistentDomain:dict forName:@"com.apple.springboard"];
notify_post("com.apple.springboard.ring-vibrate.changed");
notify_post("com.apple.springboard.silent-vibrate.changed");
我得到一個「功能的隱式聲明‘notify_post’是C99無效」在Xcode 6.2(與橋接報以Objective-C的斯威夫特項目)嘗試這個當編輯:也是一個OBJ-C項目。 – vrwim
這仍然是爲你工作?我似乎無法完成這項工作 – Jan