【发布时间】:2013-11-08 10:27:24
【问题描述】:
我正在开发应用程序,无论我的应用程序是后台还是前台,我都希望在您长按音量增大或减小按钮时为用户提供执行特定操作的功能。
我也想在手机屏幕关闭时实现此功能,但在堆栈溢出帖子中说你不能这样做。
我已经使用android.media.VOLUME_CHANGED_ACTION 广播监听器进行音量按钮按下检测,无论你的应用是后台的,它都能正常工作,但问题是我想检测这些按钮的长按。
如何将此代码包含到我的广播中,以便我可以长时间检测向上或向下按钮。
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_VOLUME_UP) {
// Do something here...
// Needed to track long presses
Log.e("Main activity", "KEYCODE_VOLUME_UP");
return true;
}
return super.onKeyDown(keyCode, event);
}
这是我的广播接收器
intentfliter = new IntentFilter("android.media.VOLUME_CHANGED_ACTION");
mReceiver = new BroadcastReceiver()
{
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
Log.e("Main activity", "Volume button press");
}
};
getApplicationContext().registerReceiver(mReceiver, intentfliter);
manager.registerMediaButtonEventReceiver(getCallingActivity());
}
【问题讨论】: