Estoy haciendo una aplicación donde el modo de teléfono cambia del modo silencioso al modo de timbre si el usuario envía un sms con una palabra clave específica. La aplicación funciona principalmente cuando el usuario pierde su celular en algún lugar de la casa y está en modo silencioso. Mi pregunta principal es ¿cómo puedo cambiar el modo del teléfono a través del administrador de audio?Cómo cambiar el modo de vibración a timbre de forma automática a través del administrador de audio
Cómo cambiar el modo de vibración a timbre de forma automática a través del administrador de audio
Respuesta
modo silencioso establecido en el modo normal usando AudioManager
AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
switch (am.getRingerMode()) {
case AudioManager.RINGER_MODE_SILENT:
Log.i("MyApp","Silent mode");
am.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
break;
}
AudioManager manager = (AudioManager) getContext().getSystemService(AUDIO_SERVICE);
manager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
intente esto:
AudioManager audioManager = (AudioManager) getSystemService(AUDIO_SERVICE);
audioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
Gracias chicos por la ayuda. Pero en realidad conseguí mi solución de este :: AudioManager audioManager = (AudioManager) context.getSystemService (Context.AUDIO_SERVICE); \t \t int maxVolume = audioManager.getStreamMaxVolume (AudioManager.STREAM_RING); \t \t audioManager.setRingerMode (AudioManager.RINGER_MODE_NORMAL); \t \t audioManager.setStreamVolume (AudioManager.STREAM_RING, maxVolume, AudioManager.FLAG_SHOW_UI + AudioManager.FLAG_PLAY_SOUND); –
Para hacer que funcione para dispositivos android para y por encima de malvavisco (API 23)
En
AndroidManifest.xml
definir elACCESS_NOTIFICATION_POLICY
permiso<uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY"/>
En su función
onResume/onCreate
pedir permiso si no se concede@Override protected void onResume() { super.onResume(); NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); //Check if the phone is running Marshmallow or above if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.M) { //If the permission is not granted, launch an inbuilt activity to grant permission if (!nm.isNotificationPolicyAccessGranted()) { startActivity(new Intent(Settings.ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS)); } } }
Finalmente cambiar Ringer modo de llamada en este método
public void setRingerMode(Context context,int mode){ /* * mode variable value can be: * AudioManager.RINGER_MODE_SILENT * AudioManager.RINGER_MODE_NORMAL * AudioManager.RINGER_MODE_VIBRATE */ NotificationManager nm = (NotificationManager)context.getSystemService(NOTIFICATION_SERVICE); AudioManager audioManager = (AudioManager)context.getSystemService(AUDIO_SERVICE); if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.M && nm.isNotificationPolicyAccessGranted()) audioManager.setRingerMode(mode); }
- 1. Android: el modo de timbre cambiado a silencioso no detiene la vibración del teléfono
- 2. Cómo silenciar mediante programación el timbre o cambiar el tono del timbre en iOS5
- 3. cómo cambiar carriles a modo de desarrollo
- 4. Django Muchos a muchos a través de la forma de tabla intermedia como la forma tabular en línea del administrador?
- 5. la comunicación de datos a través del canal de audio
- 6. Entrada de audio a través de HTML5?
- 7. Agregar cuenta a través del administrador de cuentas
- 8. Android - Obtención de audio para escuchar a través del auricular
- 9. GLSurfaceView se reproduce de forma continua a pesar de cambiar el modo de procesamiento
- 10. Establecer la altura del contenido del iframe para cambiar automáticamente el tamaño de forma automática
- 11. Lectura de muestras de audio a través de AVAssetReader
- 12. Audio de bajo retardo en Android a través de NDK
- 13. Cargar datos audio en AudioBufferSourceNode del elemento <audio/> a través de createMediaElementSource?
- 14. Salida de sonido a través de M-Audio ProFire 610
- 15. Cómo forzar a una aplicación WPF a ejecutarse en el modo Administrador
- 16. Cómo cambiar la contraseña LDAP a través de JNDI
- 17. Detección de ritmo a través del análisis del espectro de audio
- 18. Cambiar la URL a través de PHP
- 19. Android: Transmisión de audio a través de sockets TCP
- 20. HTML5 jQuery cambiar la fuente de audio de forma dinámica
- 21. ¿Cómo cambiar un estilo de pseudoclase a través de JavaScript?
- 22. cambiar la ruta de audio cuando se reproduce el audio
- 23. Cambiar el dispositivo de salida de audio del reproductor flash
- 24. Cambiar URL a través de html seleccionar
- 25. ¿Cómo obtener el Uri de MediaStore a través de la ruta del archivo?
- 26. ¿Cómo puedo cambiar la pantalla principal a través de AppleScript?
- 27. En Django, ¿cómo imito el método de dos pasos de agregar usuarios a través del administrador para mis propios modelos?
- 28. Python: Cambiar el tono del archivo de audio
- 29. Rieles: modo de mantenimiento solo de administrador
- 30. Ejecutando Clean, Build y Rebuild a través de la consola del Administrador de paquetes
y Vineet : Gracias por la ayuda, pero "getSystemServic e "no está definido, ¿pueden decirme qué hacer con eso? –
'getSystemService' es un método de la clase' Context'. Edité mi respuesta. –