2016-04-20 17 views
7

Wykonuję aplikację VoIP na iOS. W przypadku połączeń przychodzących ustawiłem niestandardowe dzwonki. Działa dobrze, ale chcę sprawdzić, czy ustawienia urządzenia są ustawione na tryb wibracji, czy nie programowo.Jak sprawdzić programowo tryb wibracji urządzenia w programie iOS?

Szukałem w Internecie w związku z tym problemem, ale znalazłem tylko odpowiedzi dotyczące wykrywania w trybie cichym. Zamiast tego chcę sprawdzić, czy urządzenie jest w trybie wibracji, czy nie.

Gdy przychodzi połączenie przychodzące do mojej aplikacji, chcę użyć trybu wibracji, jeśli ustawienia urządzenia są ustawione na tryb wibracji.

Czy ktoś może mi pomóc?

+0

Postępuj zgodnie z http://stackoverflow.com/questions/7054696/can-i-determine-how-if-a-vice-has-vibration-or-not –

+0

@AkashKR dzięki za odpowiedź, ale moje zapytanie jest , Chcę wykryć ustawienia iPhone'a "Wibracja na ringu" tak lub nie, status programowo. Ale urządzenie nie może wibrować ani nie. –

+0

Sprawdź [http://stackoverflow.com/a/5520469/5575752](http://stackoverflow.com/a/5520469/5575752) –

Odpowiedz

0

Na pierwszy rzut oka wygląda na to, że żadna z właściwości Audio Session nie pozwala odczytać wartości tego ustawienia. Jednak alternatywą, choć nie jest to dokładnie to, czego szukasz, jest sprawdzenie, czy dzwonek jest włączony lub wyłączony i zapewnia co najmniej pół-oczekiwane wrażenia wibracji dla użytkownika.

Ronak Chaniyara wskazał właściwą odpowiedź: here, jednak jest przestarzała w iOS 7.0. Zamiast tego użyj AVAudiSession -setCategory, aby ustawić właściwą kategorię audio. Jeśli spodziewasz się, że dźwięk zostanie wyciszony przez cichy przełącznik lub blokadę ekranu, użyj AVAudioSessionCategorySoloAmbient, w przeciwnym razie użyj AVAudioSessionCategoryPlayback.

Więcej informacji na temat AVAudioSession, jego ustawienia i właściwości można znaleźć pod numerem here.