Como alterar o nível de vibração das chamadas recebidas quando a chamada é feita?

De alguma forma, pergunta complicada. Estou trabalhando com um aplicativo por meio do qual o usuário pode definir o toque personalizado da chamada recebida e o nível de vibração diferente para diferentes contatos.

Eu fiquei com a configuração do nível de vibração. Nós podemos definirnível de vibração usando,

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);

É isso que vibra meu telefone. Mas eu quero definir o nível de vibração da chamada recebida. O usuário pode definir diferentes configurações de vibração predefinidas.

Usando este código, posso ativar / desativar a vibração. Mas não sei como definir o nível de vibração.

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

Espero que alguém possa dar alguns conselhos sobre esse assunto. sugestões são bem-vindas.

questionAnswers(2)

yourAnswerToTheQuestion