java - Android startActivityForResult 返回 BackPressed 事件的结果代码
问题描述
我写了一个标准SettingsActivity
。我需要在Activity关闭后检查给定的设置。SettingsActivity
标准关闭时触发的典型事件是onBackPressed
事件。这是我的代码:
@Override
public void onBackPressed() {
super.onBackPressed();
Intent intent = new Intent();
setResult(RESULT_CODE, intent);
finish();
}
SettingsActivity 是这样打开的:
Intent intent = new Intent(this, SettingsActivity.class);
startActivityForResult(intent, SettingsActivity.RESULT_CODE);
这是检查活动返回的代码:
if((requestCode == SettingsActivity.RESULT_CODE) && (resultCode == SettingsActivity.RESULT_CODE))
{
if(settings.control_mode == ControlMode.GCS)
{
settings.getSettings(this);
selectController(getString(R.string.gcs_controller_id));
settings.storeSettings(this);
}
}
requestCode
设置正确,但resultCode
我认为始终为零,因为我正在通过onBackPressed
事件处理程序设置它,但我不知道如何以不同的方式进行设置。我怎样才能解决这个问题?
解决方案
删除super.onBackPressed();
. 这已经完成了当前的活动
推荐阅读
- azure - az cli:如何单独检索密钥库秘密值,没有双引号?
- ruby-on-rails - 如何在 Rails 中为 http 请求标头添加大写字母?
- vim - 空行的颜色与上面有文本的行和 vim 中的当前行不同
- python - 当我尝试打开 file.sumocfg 时,Sumo 没有找到 file.net.xml
- ios - 导航到另一个屏幕后自动返回上一个屏幕 SwiftUI?
- node.js - 如何在 puppeteer 中使用“--export-tagged-pdf”功能?
- php - 具有指定值的 Laravel 验证最小数组
- python - 我需要将此 VHDL 代码转换为 MyVHDL Python,如何?
- python - Google Reattime Streaming proto_type 错误
- android - 如何在科尔多瓦运行android前台服务?