¿Cómo cambiar el nivel de vibración de la llamada entrante cuando se realiza una llamada entrante?

De alguna manera una pregunta difícil. Estoy trabajando con una aplicación a través de la cual el usuario puede configurar un tono de llamada personalizado y un nivel de vibración diferente para diferentes contactos.

Me he quedado con la configuración del nivel de vibración. Podemos establecernivel de vibración utilizando,

Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);  

// 1. Vibrate for 1000 milliseconds  
long milliseconds = 1000;  
v.vibrate(milliseconds);  

// 2. Vibrate in a Pattern with 500ms on, 500ms off for 5 times  
long[] pattern = { 500, 300 };  
v.vibrate(pattern, 5);

Esto es lo que pasa con vibrar mi teléfono. Pero yo, quiero establecer el nivel de vibración de la llamada entrante. El usuario puede establecer diferentes configuraciones de vibración predefinidas.

Usando este código puedo configurar Vibración ON - OFF. Pero no sé cómo establecer el nivel de vibración.

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

Espero que alguien pueda dar algún consejo sobre este tema. Las sugerencias son bienvenidas.

Respuestas a la pregunta(2)

Su respuesta a la pregunta