Android Vibrar en el tacto?

Estoy intentando hacer que mi dispositivo vibre cuando toco un objeto en la pantalla. Estoy usando este código:

Vibrator v = (Vibrator) getSystemService(getApplicationContext().VIBRATOR_SERVICE); v.vibrate(300); 

Con el permiso en el archivo de manifiesto, pero no parecen obtener ningún resultado. ¿Alguna sugerencia? Además, mi hardware soporta vibrar.

Por favor intente esto:

 Button b = (Button) findViewById(R.id.button1); b.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub Vibrator vb = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); vb.vibrate(100); return false; } }); 

Y agregue este permiso a manifest.xml

  <uses-permission android:name="android.permission.VIBRATE"/> 

De acuerdo con esta respuesta , puede realizar retroalimentación háptica (vibrar) sin pedir permisos adicionales. Mire el método performHapticFeedback .

 View view = findViewById(...) view.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY); 

Nota: No he probado este código.

Esto vibrará una vez, cuando el usuario toca la vista (no seguirá vibrando cuando el usuario todavía mueve su dedo):

 @Override public boolean onTouch(View view, MotionEvent event) { if(event.getAction() == MotionEvent.ACTION_DOWN) { Vibrator v = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE); v.vibrate(VIBRATE_DURATION_MS); } return true; } 

Y como Ramesh dijo, permita el permiso en manifiesto:

 <uses-permission android:name="android.permission.VIBRATE"/> 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.