我如何解决Android应用程序中的“getSystemservices(String)”错误

时间:2013-10-19 11:58:21

标签: android vibration

我正在尝试在我的Android应用中使用振动,但它显示错误The method getSystemservices(String) undefined for the type

以下是我使用的代码

Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
v.vibrate(300);

我怎么能解决这些错误请帮帮我。 感谢

4 个答案:

答案 0 :(得分:1)

尝试:

Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
// Vibrate for 500 milliseconds
v.vibrate(500);

不要忘记在AndroidManifest.xml文件中包含权限:

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

答案 1 :(得分:1)

在您的清单文件中添加此权限:

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

答案 2 :(得分:1)

您正在调用的类可能不是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"/>

希望这有帮助! :)

答案 3 :(得分:0)

公共类MyClass {

private void Context mContext;

public MyClass(Context context){
    mContext = context;
}

public void someFunction(){
    // code
    Vibrator v = (Vibrator) mContext.getSystemService(Context.VIBRATOR_SERVICE);
    // .. code
}

}