-1

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

这是我使用的代码

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

我该如何解决这些错误,请帮助我。谢谢

4

4 回答 4

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"/>

希望这可以帮助!:)

于 2013-10-19T12:07:01.530 回答
1

公共类 MyClass {

private void Context mContext;

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

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

}

于 2014-02-04T06:47:18.770 回答
1

尝试:

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

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

<uses-permission android:name="android.permission.VIBRATE"/>
于 2013-10-19T12:04:02.157 回答
1

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

<uses-permission android:name="android.permission.VIBRATE" />
于 2013-10-19T12:04:03.167 回答