Как я могу решить "getSystemservices(String) " ошибка в приложении Android
Я пытаюсь использовать вибрацию в моем приложении для Android, но он показывает ошибку, The method getSystemservices(String) undefined for the type
,
Вот код, который я использую
Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
v.vibrate(300);
Как я могу решить эту ошибку, пожалуйста, помогите мне. Спасибо
4 ответа
Решение
Открытый класс MyClass {
private void Context mContext;
public MyClass(Context context){
mContext = context;
}
public void someFunction(){
// code
Vibrator v = (Vibrator) mContext.getSystemService(Context.VIBRATOR_SERVICE);
// .. code
}
}
Добавьте это разрешение в свой файл манифеста:
<uses-permission android:name="android.permission.VIBRATE" />
Пытаться:
Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
// Vibrate for 500 milliseconds
v.vibrate(500);
Не забудьте включить разрешение в файл AndroidManifest.xml:
<uses-permission android:name="android.permission.VIBRATE"/>
Возможно, тот класс, который вы называете, не является Activity
или какой-то другой класс, который имеет свой собственный контекст. Так что если вы вызываете это в функции, вы должны сделать что-то вроде этого:
public void someFunction(Context context){
// .. code
Vibrator vibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
// .. more code
}
или в классе
public class MyClass {
private Context mContext;
public MyClass(Context context){
mContext = context;
}
public void someFunction(){
// code
Vibrator vibrator = (Vibrator) mContext.getSystemService(Context.VIBRATOR_SERVICE);
// .. code
}
}
и как уже упоминалось в других ответах, не забудьте добавить разрешение в ваш файл манифеста:
<uses-permission android:name="android.permission.VIBRATE"/>
Надеюсь это поможет!:)