[英]How to Identify pressing the volume button for a specified time period in android
使用此android應用程序,我想確定是否有人按下了增大音量按鈕或減小音量按鈕2秒鍾以上。 到目前為止,這是我已經實現的。
MainActivity.java文件
package com.example.hardwarebuttton2;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.KeyEvent;
import android.view.Menu;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode==KeyEvent.KEYCODE_VOLUME_DOWN && event.getEventTime()>2000){
Toast.makeText(getBaseContext(), "volume down button pressed for 2 seconds", Toast.LENGTH_SHORT).show();
return true;
}
if(keyCode==KeyEvent.KEYCODE_VOLUME_UP && event.getEventTime()>2000){
Toast.makeText(getBaseContext(), "volume up button pressed for 2 seconds", Toast.LENGTH_SHORT).show();
return true;
}
return super.onKeyDown(keyCode, event);
}
}
這段代碼的作用是在不計算2秒鍾的情況下給出輸出,只要按下音量調高或調低按鈕即可。 那么,這段代碼是什么問題。 如果有人可以告訴我如何解決此問題,我將不勝感激。
event.getEventTime返回向上或向下的時間,而不是自上一個事件以來的時間。 您要做的是在看到下降時存儲事件時間,而當看到上升時存儲事件時間中的存儲值。 這給了您經過的時間。 如果經過的時間超過2秒,請執行您想做的任何事情。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.