Кнопка возврата не возвращается к предыдущей активности

Мое небольшое тестовое приложение представляет собой ListActivity, в котором отображаются все контакты. Когда пользователь щелкает один, он открывает действие ACTION_EDIT "people". Это отлично работает. Когда пользователь нажимает "назад" или завершает редактирование каким-либо иным способом, основной вид деятельности "Люди" начинается, а не возвращается к моей деятельности.

Почему это происходит?

Вот мой код:

public class ReadContact extends ListActivity implements OnItemClickListener
{
  @Override
  public void onCreate(Bundle savedInstanceState) 
  {
      super.onCreate(savedInstanceState);
      ...
  }

  @Override
  public void onItemClick (AdapterView<?> parent, View view, int position, long id) 
  {
    Cursor cur = ((SimpleCursorAdapter)parent.getAdapter()).getCursor();
    cur.moveToPosition (position);
    String key = cur.getString (2);
    System.out.println ("clicked " + key);

    // make intent to edit contact
    Intent intent = new Intent (Intent.ACTION_EDIT);
    intent.setData (Uri.parse (ContactsContract.Contacts.CONTENT_LOOKUP_URI + "/" + key));
    startActivityForResult (intent, 2);
  }

  @Override
  protected void onActivityResult (int requestCode, int resultCode, Intent data)
  {
    System.out.println ("request " + requestCode + ", result " + resultCode);
  }
}

Обратите внимание, что onActivityResult никогда не вызывается. Также, пожалуйста, поймите, что я не контролирую код редактирования контактов - это часть приложения "люди", поставляемого с Android. Благодарю.

1 ответ

Решение

Я подал ошибку на Android по этому поводу. Кто-то посмотрел на это и ответил, что существует недокументированный обходной путь. Из сообщения об ошибке:

Недокументированный обходной путь - вызвать putExtra("finishActivityOnSaveCompleted", true); в намерении ACTION_EDIT.
Однако, поскольку это недокументировано, я понятия не имею, какие версии Android будут использовать его.

Я попробовал это, и это работает для версии Android, которую я использую: 4.1.2. См. Выпуск 39262 для получения дополнительной информации.

Другие вопросы по тегам