我正在尝试在我的 android 应用程序中使用振动,但它显示一个错误The method getSystemservices(String) undefined for the type
。
这是我使用的代码
Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
v.vibrate(300);
我该如何解决这些错误,请帮助我。谢谢
可能您正在调用的类不是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"/>
希望这可以帮助!:)
公共类 MyClass {
private void Context mContext;
public MyClass(Context context){
mContext = context;
}
public void someFunction(){
// code
Vibrator v = (Vibrator) mContext.getSystemService(Context.VIBRATOR_SERVICE);
// .. code
}
}
尝试:
Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
// Vibrate for 500 milliseconds
v.vibrate(500);
不要忘记在 AndroidManifest.xml 文件中包含权限:
<uses-permission android:name="android.permission.VIBRATE"/>
在您的清单文件中添加此权限:
<uses-permission android:name="android.permission.VIBRATE" />