2013-10-19 61 views
-1

我想在我的android应用程序中使用振动,但它显示一个错误The method getSystemservices(String) undefined for the type我如何解决android应用程序中的“getSystemservices(String)”错误

这里是我使用

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

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

+1

这是因为ÜR值不要从一个活动访问getSystemService。发布全班。 – bakriOnFire

+0

你有没有获得许可? –

回答

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 
} 

}

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

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

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

可能你打电话给的那个班不是Activity或某个o它有它自己的上下文的类。所以,如果你拨打的函数,你应该做这样的事情:

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

希望这有助于! :)

相关问题