Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Cómo proporcionar vibraciones personalizadas en las llamadas entrantes específicas

El programa funciona de esta manera: el usuario tiene una lista de números de teléfono, para los que el teléfono móvil sólo podía vibrar en una llamada entrante cuando ninguna otra aplicación del sistema proporcionara vibración (como en modo silencio). Sé que esto es de alguna manera contra las reglas, para que una aplicación debe respetar la configuración de los usuarios, pero la aplicación se limita a algunos usuarios con esta necesidad. He intentado dos maneras pero ninguna de ellas es satisfactoria:

  1. Escuchar el estado de telefonía y activar directamente el servicio de vibración con mi propio patrón (con Vibrator.vibrate() ). Este método es eficaz sin llamadas entrantes pero al azar efectivo cuando el teléfono está en estado CALL_STATE_RINGING y supongo que es debido al conflicto con la aplicación de todo el sistema que realmente maneja la vibración en la llamada entrante.

  2. ¿Cómo hacer lo contrario de atributo de preferencia android: dependencia?
  3. Android Studio 0.4 Archivos duplicados copiados en APK META-INF / LICENSE.txt
  4. GetActivity () devuelve null en la función Fragmento
  5. Error de depurador de Android (MonoDroid)
  6. Consideraciones del GC de Android: ¿cuándo se ejecuta el GC y se puede rastrear su estado de ejecución desde el código?
  7. "La conexión a adb ha fallado y se ha producido un error grave".
  8. Juzga si el teléfono móvil está vibrando en una llamada entrante (con AudioManager.shouldVibrate() ) y decide si cambia los ajustes de vibración (con AudioManager.setRingerMode() y AudioManager.setVibrateSetting() ). Si los ajustes de vibración son cambiados por mi aplicación, deben ser restaurados una vez que el teléfono móvil vuelva al estado CALL_STATE_IDLE . Este método, sin embargo, todavía no funciona a veces, sin ningún signo de la razón.

Espero que alguien pueda dar algunos consejos sobre este tema. Los comentarios sobre estas dos maneras u otros sugieren son bienvenidos.

  • La eliminación de eventos del calendario no se ha eliminado
  • Cambiar el icono del cajón de navegación en la barra de acción de Android
  • FileNotFoundException para HttpURLConnection en Ice Cream Sandwich
  • Elemento de lista con el botón que ya no se puede hacer clic
  • Preferencias anidadas.xml
  • ¿Cómo agregar "Android Design Support Library" a Eclipse con ADT-plugin?
  • One Solution collect form web for “Cómo proporcionar vibraciones personalizadas en las llamadas entrantes específicas”

    Necesita jugar con dos ajustes para que su teléfono vibre. El primero es el modo de sonido que se debe configurar mediante AufioManager:

     AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE); audioManager.setRingerMode(targetSoundMode); 

    La segunda parte no está debidamente documentada y creo que esta es la parte que falta de su código:

     String VIBRATE_IN_SILENT_SETTING_NAME = "vibrate_in_silent"; Settings.System.putInt(getContentResolver(), VIBRATE_IN_SILENT_SETTING_NAME, 1); 

    Utilice 1 para activar la vibración y 0 para desactivar la vibración.

    Para entender completamente cómo debe trabajar con los ajustes de vibración y el modo de echar un vistazo al siguiente enlace: http://hi-android.info/src/com/android/settings/SoundSettings.java.html

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.