Как я могу запросить виброзвонок?

Как я могу запросить разрешение вибрирования в приложении для Android?

Вот ссылка на ссылку

Добавьте это в свой манифест, как прямой дочерний элемент manifest :

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

Так вы позволяете телефону вибрировать через код:

 // Get instance of Vibrator from current Context Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); // Vibrate for 300 milliseconds v.vibrate(300); 

Для более творческого шаблона попробуйте тему звездной войны = D

 v.vibrate(new long[]{0, 500, 110, 500, 110, 450, 110, 200, 110, 170, 40, 450, 110, 200, 110, 170, 40, 500}, -1); 

Добавьте в свой AndroidManifest.xml :

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

Дополнительная информация о разрешениях AndroidManifest здесь

Больше информации о списке разрешений здесь

EDIT: это запрашивает разрешение во время выполнения! (Это необходимо только ниже уровня API 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; } } }