Заставить Android-устройство вибрировать при активности

Я пытаюсь заставить телефон Android вибрировать нажатием кнопки в действии. Я сделал поиск, но некоторые сказали, что это невозможно сделать с помощью Activity, поскольку это класс Context.

Вот что я сделал.

В файле манифеста:

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

Код:

public class SecurityActivity extends AppCompatActivity
    implements NavigationView.OnNavigationItemSelectedListener 
{

  public Vibrator v; 
  public void vibrateStart(View view){
    v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
    if (v != null)  v.vibrate(1000); 
  } 

  public void vibrateStop(View view){
    if (v != null)  v.cancel(); 
  }
}

onClick в XML вызовет определенный метод.


person dilbert    schedule 19.12.2015    source источник


Ответы (2)


Используйте этот метод там, где хотите, он поможет вам вибрировать устройство Android из нашего приложения.

private void vibrate() {
    Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); // Vibrate for 500 milliseconds only
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        v.vibrate(VibrationEffect.createOneShot(500, VibrationEffect.DEFAULT_AMPLITUDE));
    } else {  
        v.vibrate(500); // deprecated in API 26
    }
}

добавить разрешение в манифест

<uses-permission android:name="android.permission.VIBRATE"/>
person Agilanbu    schedule 13.11.2018

В конце концов, это было «Вибрация при касании», не установленная в настройках телефона. После того, как поставил на максимум, работает.

person dilbert    schedule 20.12.2015