2012-02-10 7 views
0

は私が なぜ私のアプリは、絶えず振動しますか?

Vibrator v = (Vibrator) this.getSystemService(Context.VIBRATOR_SERVICE);   

long milliseconds = 500; 

v.vibrate(milliseconds); 

は、時にはそれがOKに働い以下のようにアンドロイドと設定した時間= 500ミリ秒で振動するサービスを使用しますが、時々私はそれが常に振動理由を知らないと私は画面の電源をオンにしたときにのみ停止します。 私のアプリは、Android 2.2で動作します。

私を助けてください。

ありがとうございます。

/**編集*あなたの返信用/

おかげで、

私はアラームサービスの内部で振動を開始。アラームがオフになるたびに、私は、サウンドを再生し、このサービスの内部で振動を開始します。ここでの問題は、時にはそれがOKに動作することである私のコード

Vibrator v = (Vibrator) this.getSystemService(Context.VIBRATOR_SERVICE); 
long milliseconds = 500; 
v.vibrate(milliseconds); 

MediaPlayer mp = MediaPlayer.create(this, R.raw.normal); 
mp.start(); 
mp.setOnCompletionListener(new OnCompletionListener() { 
    public void onCompletion(MediaPlayer mp) { 
     // TODO Auto-generated method stub 
     mp.release(); 
    } 
}); 
PowerManager pm = (PowerManager) this 
      .getSystemService(Context.POWER_SERVICE); 
mWakelock = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK 
      | PowerManager.ACQUIRE_CAUSES_WAKEUP, "AlarmScreen"); 
mWakelock.acquire(120000); 

ですが、時にはそれが絶えず振動し、私は画面の電源をオンにしたときにのみ停止します。問題は、あなたが使用しているコードではありません

this. 

、すべてつもりは申し分なく

答えて

1

てみてくださいデバイスを振動させるには、おそらく振動と呼ばれるコードでしょう。私はあなたが振動をトリガーだループのいくつかの並べ替えにいる推測しています。あなたは振動を開始するために使用されたコードを表示できますか?

+0

を使用して振動を強制停止することができます。私はこれが私の問題の問題だとは思わない。 – MichaelP

+0

私はちょうど私の質問を編集した) – timonvlad

+0

おかげであなたを呼び出すたびに試してみてください、私はmp.start(前mp.release()を呼び出したとき、私は、例外はIllegalStateExceptionを得ました、あなたはそれを上に見ることができます。 – MichaelP

0

:...

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

削除ような方法で使用するための

+0

をmp.start前mp.release()()を使用すると、メディアプレーヤ... – MichaelP

0

あなたは「これは」ここにサービスオブジェクト自体が遅れ

final Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); 
v.vibrate(2000); 

final Handler handler = new Handler(); 
handler.postDelayed(new Runnable() { 
@Override 
public void run() { 
    //Do something after 2000ms (avoid random vibrations) 
    v.cancel(); 
    } 
}, 2000); 
関連する問題