tôi gọi một hoạt động cho kết quả:Android, kết thúc() đóng INSEAD ứng dụng hoạt động
private static final int CODE_LOGIN = 0;
private static final int CODE_DETAILS = 1;
private void callDetailsActivity() {
Intent switchToDetailsActivity = new Intent(getApplicationContext(), Details.class);
switchToDetailsActivity.putExtra(TAG_ID, details.get(TAG_ID));
startActivityForResult(switchToDetailsActivity, CODE_DETAILS);
}
Bây giờ trong tôi Details.class tôi gọi để trở lại hoạt động theo thời gian:
@Override
public void onBackPressed() {
setResult(RESULT_OK);
super.onBackPressed();
}
Và sau đó tôi onActivityResult()
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
if (requestCode == CODE_LOGIN) {
// This is for my other Activity, where the "return" works
}
}
updateOffers();
}
Nhưng nỗi lo sợ khi quay trở lại lớp trước của tôi, ứng dụng sẽ bị đóng mà không có bất kỳ nhật ký lỗi nào. Khi tôi bấm nút Home để đi đến ứng dụng trước đó của tôi, tôi có thể đi đến ứng dụng của tôi và sau đó tôi đang ở trong hoạt động trước đây của tôi, nhưng đó chắc chắn không phải là cách nó được cho là làm việc.
Tôi cũng đã cố gắng không thay đổi onBackPressed()
hoặc chỉ cần viết finish()
vào onBackPressed()
, nhưng không có gì hiệu quả.
tôi chưa thiết android:noHistory="true"
Với Hoạt động khác của tôi (trong đó sử dụng excatly cùng mã), nó hoạt động một cách hoàn hảo (CODE_LOGIN).
Ai đó có thể giúp tôi không?
Bạn có thể cũng chia sẻ mã cho "onActivityResult" của bạn trong hoạt động đầu tiên? –
cố gắng thêm super.onBackPressed ở dưới cùng của onPressPressed() và xóa các tham số khỏi Intent() mới. – Vijju
Bạn có gọi 'finish()' sau 'startActivityForResult' không? – Doomsknight