我试图让我的Android手机在游戏中击中目标后振动,所以我创建了内部类Vibrate
,它扩展了Activity,因为我的外部类是非活动的
public class TheGame extends GameThread {
public class Vibrate extends Activity {
Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
}
//some methods
protected void updateGame(float secondsElapsed){
//updating coordinates and if ball hits the target >> vibrate
TheGame.Vibrate vib = new TheGame.Vibrate();
vib.v.vibrate(500);
}
}
如何从外部类调用振动(Vibration v
-inner类)?此时程序在Logcat中停止显示“不幸的是,应用已停止”和“处理android的输出太多”
//////////
最后在dhke的帮助下工作。我只需要从外部类中扩展的Context访问getSystemService(...)。
答案 0 :(得分:1)
在非活动类中调用静态方法:
template<unsigned terms>
inline double taylor_sine(double const& x){
return taylor_sine<terms-1>(x)+taylor_sine_term<terms>(x);
}
在清单文件中添加权限。
public class MyNonActivity{
public static void vibrateDevice(Context mContext){
Vibrator v = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
// Vibrate for 500 milliseconds
v.vibrate(500);
}
}
如何调用 活动:
<uses-permission android:name="android.permission.VIBRATE"/>
完成强>