2012-11-05 2 views
0

내가, 활동이 시작되지만 내가 활동이 내가 흔들 첫 번째 시간을 시작하려는 흔들 onShake의 method..each 시간과 함께 활동을 시작하고 시작해야한다 ... 나는 보았다 여기에 비슷한 질문 : Start new activity using onShake method it..below에서 많이 가져올 수 없습니다 ..하지만 내가() 메소드 일시 정지 unregisterListener을 사용하고 내 shakelistener 클래스에 내 코드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(); 

    } 
} 

입니다.

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

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

나는 여기에 어떤 제안을 놓치고 있습니다.

답변

0

왜 당신은 그냥이가 뭘해야되는 않는 경우 mShaker 제거하지? 당신이 AlertDialog을 구축 한 후, 바로 mShaker...whatever destroys it 또는 적어도 mShaker.pause를 호출합니다. 이것이 대답이 아니라면, 나는 당신의 문제를 유감스럽게 생각합니다.

+0

죄송합니다. – teekib

+0

그냥 mShaker.pause를 onShake()에 넣으십시오. – slezadav

+0

yeahh right .... – teekib

관련 문제