簡體   English   中英

搖動方法:活動只能開始一次

[英]Onshake method : activity should start only once

我正在使用onShake方法啟動一個活動..每次搖動時,該活動都會開始,但是我希望該活動僅在我第一次搖動時才開始...我在這里看到了類似的問題: 使用onShake方法開始新的活動 ..但不能從中得到很多..以下是我的代碼

public class ShakeListenerTestActivity extends Activity
{
  private ShakeListener mShaker;

  @Override
  public void onCreate(Bundle savedInstanceState)
  {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);              

    final Vibrator vibe = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);

    mShaker = new ShakeListener(this);
    mShaker.setOnShakeListener(new ShakeListener.OnShakeListener () {
      public void onShake()
      {
   vibe.vibrate(100);

        new AlertDialog.Builder(ShakeListenerTestActivity.this)
          .setPositiveButton(android.R.string.ok, null)
          .setMessage("Do stuff here!!")
          .show();
 }
    });

  @Override
  public void onResume()
  {
    mShaker.resume();
    super.onResume();
  }
  @Override
  public void onPause()
  {
    mShaker.pause();
    super.onPause();

  }  
}

在我的shakelistener類中,我在pause()方法中使用unregisterListener。

 public void pause() {
        if (mSensorMgr != null) {

          mSensorMgr.unregisterListener(this);
          mSensorMgr = null;
        }
      }

我在這里想念的是什么建議,不勝感激。

您為什么不按照它的預期去做就擺脫了mShaker 構建AlertDialog ,只需調用mShaker...whatever destroys it或至少mShaker...whatever destroys it mShaker.pause 如果這不是答案,我會誤解了您的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM