簡體   English   中英

如何在Android中確定在指定時間段內按下音量按鈕

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

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