¿Cómo puedo solicitar el permiso de vibración?
¿Cómo puedo solicitar el permiso de vibración en mi aplicación de Android?
Aquí está el enlace a la referencia
Agregue esto a su manifiesto, como un hijo directo del elemento manifest
:
<uses-permission android:name="android.permission.VIBRATE" />
Así es como dejas que el teléfono vibre a través del código:
// Get instance of Vibrator from current Context Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); // Vibrate for 300 milliseconds v.vibrate(300);
Para un patrón más creativo pruebe el tema star wars = D
v.vibrate(new long[]{0, 500, 110, 500, 110, 450, 110, 200, 110, 170, 40, 450, 110, 200, 110, 170, 40, 500}, -1);
Agregue lo siguiente en su AndroidManifest.xml
:
<uses-permission android:name="android.permission.VIBRATE" />
Más información sobre los permisos de AndroidManifest aquí
Más información sobre la lista de permisos aquí
EDIT: Esto pide el permiso en tiempo de ejecución! (Esto solo es necesario debajo de API Lvl 23)
if (ContextCompat.checkSelfPermission(this, Manifest.permission.VIBRATE) != PackageManager.PERMISSION_GRANTED) { // Should we show an explanation? if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.VIBRATE)) { } else { ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.VIBRATE}, PERMISSION_VIBRATE_REQUEST ); } } else { Vibrator vibrator = (Vibrator) this.getSystemService(Context.VIBRATOR_SERVICE); vibrator.vibrate(500); } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { switch (requestCode) { case PERMISSION_VIBRATE_REQUEST: { // If request is cancelled, the result arrays are empty. if (grantResults == null || grantResults.length <= 0 || grantResults[0] != PackageManager.PERMISSION_GRANTED) { //NOT granted } return; } } }