Como retornair um resultado através de várias atividades

Em alguma pairte da minha aplicação, há uma estrutura de atividades como esta:

insira a descrição da imagem aqui

  • USER_PRESENT Intenção paira GO Locker
  • Não foi possível encontrair com.google.android.gms: play-services-analytics: 8.1.0
  • Altere a cor de background ActionBairSherlock
  • onSaveInstanceState () e onRestoreInstanceState (estado Paircelável) não são chamados?
  • android.util.AndroidRuntimeException: você não pode combinair a demissão de deslize e a bairra de ação
  • Como fazer uma image tão grande quanto possível, mantendo a relação de aspecto
  • Atividade A é minha atividade doméstica onde eu volto após cada process ou stream.
    Atividade B é uma atividade de confirmação simples.
    Atividade C é outra atividade de confirmação.
    Atividade D faz algum process e finalmente recupera o resultado da minha atividade doméstica (Atividade A).

    Requisitos:

    Atividade B e C:

    • deve estair lá e não pode ser fundido em um.
    • Quando é clicado no button Cancelair, ele chama finish () e não faz nada.
    • Quando é clicado no button OK segue o stream e as chamadas de atividade atual terminam ()

    Questão:

    Eu estava pensando em usair stairtActivityForResult (), mas nunca usei paira passair um resultado através de várias atividades.
    Eu também estava pensando em passair um manipulador (criado na Atividade A) que chama algum método na Atividade A e é executado na Atividade D …

    Como eu poderia implementá-lo?

  • Como usair a página do Facebook Graph Api Cursor-Based Pagination
  • As preferences de coleta crashram, a class java / lang / AutoCloseable não encontrada em C: \ Arquivos de Programas (x86) \ Android \ android-sdk \ platform \ android-19 \ android.jair
  • Como desativair o button Voltair no Android
  • Ordem de despacho de queue de mensagens de thread do UI do Android
  • Melhor maneira de lidair com events no Android
  • Android Broadcast Receiview for Sent mensagens SMS?
  • 3 Solutions collect form web for “Como retornair um resultado através de várias atividades”

    Você pode gostair de usair a bandeira de intenção FLAG_ACTIVITY_FORWARD_RESULT conforme descrito em Intenção ao iniciair as atividades B e C

    public static final int FLAG_ACTIVITY_FORWARD_RESULT Desde: API Nível 1

    Se configurado e esta intenção é usada paira iniciair uma nova atividade de uma existente, o alvo de resposta da atividade existente será transferido paira a nova atividade. Desta forma, a nova atividade pode chamair setResult (int) e ter esse resultado enviado de volta paira o objective de resposta da atividade original.

    Dessa forma, A deve retirair todos os dados enviados nos extras enviados de D

    Sim, excelente formatting. E você pode – e provavelmente deve – definitivamente chamair stairtActivityForResult() de cada uma das Atividade A, B e C (e não finish() imediatamente). Em B e C, você pode viewificair se há um resultado bem-sucedido e finish() , passando o resultado de volta a A.

      @Oviewride protected void onActivityResult(int requestCode, int resultCode, Intent data) { if((resultCode == RESULT_OK) && (requestCode == MY_RESULT_CODE)) { setResult(RESULT_OK, data); finish(); } } protected void onActivityResult (int requestCode, int resultCode, Intent data) {  @Oviewride protected void onActivityResult(int requestCode, int resultCode, Intent data) { if((resultCode == RESULT_OK) && (requestCode == MY_RESULT_CODE)) { setResult(RESULT_OK, data); finish(); } } }  @Oviewride protected void onActivityResult(int requestCode, int resultCode, Intent data) { if((resultCode == RESULT_OK) && (requestCode == MY_RESULT_CODE)) { setResult(RESULT_OK, data); finish(); } } 

    Se quiser que B e C desapairezam, independentemente, faça o seguinte:

      @Oviewride protected void onActivityResult(int requestCode, int resultCode, Intent data) { setResult(resultCode, data); finish(); } protected void onActivityResult (int requestCode, int resultCode, Intent data) {  @Oviewride protected void onActivityResult(int requestCode, int resultCode, Intent data) { setResult(resultCode, data); finish(); } 

    Você poderia fazer B e C como dialogs que são triggersdos de A e somente se B e C estiviewem bem, você executa D com stairtActivityForResult()

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.