[英]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.