从非活动类

时间:2015-07-09 13:26:09

标签: java android

我试图让我的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(...)。

1 个答案:

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

完成