如果我按下并停止振动,如果我移动我的手指,我怎么能让设备振动?现在这与声音工作,但它不振动,这是代码 `
@Override
public boolean onTouch(View arg0, MotionEvent arg1) {
// TODO Auto-generated method stub
if(MotionEvent.ACTION_DOWN == arg1.getAction())
{
mp.start();
df= (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
}
else
if(MotionEvent.ACTION_UP == arg1.getAction())
{
mp.stop();
try {
mp.prepare();
try {
df.wait(arg1.getDownTime());
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//df.cancel();
}
return false;
}
});
}
`
答案 0 :(得分:0)
你没有在ACTION_DOWN中启动振动,你只是在不使用它的情况下获取VibratorService。你需要打电话:
public abstract void vibrate (long[] pattern, int repeat)
像这样:
df.vibrate(new long[]{300}, 0);
然后用
取消它df.cancel();
此外,您需要此权限:
<uses-permission android:name="android.permission.VIBRATE"/>