Activity类的onKeyDown(int keyCode,KeyEvent event)

本文讨论了一个关于语音备忘录应用程序的问题,在录音过程中退出导致录音文件未能正确同步到数据库的现象。文章详细介绍了问题背景及初步解决方案。
最近在做语音备忘录的数据库,实现时候遇到这样一个问题,当语音备忘录正在录音的时候,如果这时点击推出键,那么在手机的SD卡中录音文件仍然存在,而数据库中却没有该文件的记录,因为刚接手这个应用,对项目结构不了解,找了好久才知道按下推出键的时候触发的是Activity中的onKeyDown(int keyCode,KeyEvent event)这个方法。现在回头看看很简单,当时却找了很久。呵呵。
package com.oplus.engineermode.aftersale; import android.os.Bundle; import android.view.KeyEvent; import android.view.Menu; import android.view.MenuItem; import androidx.annotation.Nullable; import com.oplus.engineermode.R; import com.oplus.engineermode.core.sdk.entrance.EngineerFragmentContainer; import com.oplus.engineermode.wifi.manualtest.AdvancedSettings; public class DeviceCalibrationContainer extends EngineerFragmentContainer { private static final int MENU_ITEM_SAVE = Menu.FIRST; private static final int MENU_ITEM_CANCEL = Menu.FIRST + 1; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Override public boolean onCreateOptionsMenu(Menu menu) { if (getFragmentContent().contains("DeviceCalibrationActivity")) { menu.add(0, 1, Menu.NONE, "Batch Test Mode"); menu.add(0, 2, Menu.NONE, "Reset All"); return true; } else if (getFragmentContent().contains("AdvancedSettings")) { menu.add(0, MENU_ITEM_SAVE, 0, R.string.wifi_ip_settings_menu_save).setIcon(android.R.drawable.ic_menu_save); menu.add(0, MENU_ITEM_CANCEL, 0, R.string.wifi_ip_settings_menu_cancel).setIcon(android.R.drawable.ic_menu_close_clear_cancel); } return super.onCreateOptionsMenu(menu); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (getFragmentContent().contains("AdvancedSettings")) { ((AdvancedSettings) getFragment()).onKeyDown(keyCode, event); } return super.onKeyDown(keyCode, event); } @Override public boolean onOptionsItemSelected(MenuItem menuItem) { if (getFragmentContent().contains("DeviceCalibrationActivity")) { return ((DeviceCalibrationActivity) getFragment()).onOptionsItemSelected(menuItem); } else if (getFragmentContent().contains("AdvancedSettings")) { return ((AdvancedSettings) getFragment()).onOptionsItemSelected(menuItem); } return super.onOptionsItemSelected(menuItem); } }
10-23
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值