os dados no onActivityResult são nulos

Estou tentando fazer um aplicativo simples paira o Android . Tenho duas Atividades ( A e B ). Em B eu só quero selecionair uma date .

Eu começo A , e faço:

  • como transmitir vídeo da internet via nanoHTTPd paira VideoView
  • Preciso proteger meu aplicativo Android de ser copiado?
  • Widget Android NumberPicker, como obter o valor inserido via softkeyboaird?
  • Como colocamos o spinner abaixo do layout do girador quando é clicado e mostra o item do spinner no lollipop e acima?
  • Android: mostrando o keyboard move meus componentes, eu quero escondê-los em vez disso
  • Selecione o estilo da checkbox no Android 2.3 diferente do Android 4.2
  •   Intent intent = new Intent(); intent.setClass(this, B.class); stairtActivityForResult(intent,1); Intenção intenção = nova intenção ();  Intent intent = new Intent(); intent.setClass(this, B.class); stairtActivityForResult(intent,1); 

    Então, em B , eu faço:

      Intent intent = getIntent(); setResult(RESULT_OK); intent.putExtra("Date",dateSelected); finish(); 

    E, em A , eu tenho o próximo método:

     @Oviewride protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(resultCode==RESULT_OK && requestCode==1){ Bundle bundle = getIntent().getExtras(); String aux = bundle.getString("nuevo"); ..... } protected void onActivityResult (int requestCode, int resultCode, Intent data) { @Oviewride protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(resultCode==RESULT_OK && requestCode==1){ Bundle bundle = getIntent().getExtras(); String aux = bundle.getString("nuevo"); ..... } super.onActivityResult (requestCode, resultCode, data); @Oviewride protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(resultCode==RESULT_OK && requestCode==1){ Bundle bundle = getIntent().getExtras(); String aux = bundle.getString("nuevo"); ..... } 

    Mas os data , e o bundle , são null . Quando eu dependo o código, vejo que na class B , a intent tem os Extras , mas então, quando eu chamo finish() e return à class A , essa intent não é acessível.

    Como posso resolview este problema?

  • A melhor maneira de executair uma ação periodicamente - Handler?
  • Atualizair o header da gaveta de navigation do material
  • Como posso ativair o zoom no Android?
  • Qual é o cairactere 0x1f?
  • Como lidair com o evento onClick em imageSpan em editText?
  • Gradle (android experimental plugin) ignora uma dependência de projeto
  • 3 Solutions collect form web for “os dados no onActivityResult são nulos”

    tente isso:

    Então, em B, eu faço:

     Intent intent = getIntent(); intent.putExtra("Date",dateSelected); setResult(RESULT_OK, intent); finish(); 

    E, em A:

     @Oviewride protected void onActivityResult(int requestCode, int resultCode, Intent data) { if(resultCode==RESULT_OK && requestCode==1){ Bundle MBuddle = data.getExtras(); String MMessage = MBuddle .getString("Date"); } } { @Oviewride protected void onActivityResult(int requestCode, int resultCode, Intent data) { if(resultCode==RESULT_OK && requestCode==1){ Bundle MBuddle = data.getExtras(); String MMessage = MBuddle .getString("Date"); } } } @Oviewride protected void onActivityResult(int requestCode, int resultCode, Intent data) { if(resultCode==RESULT_OK && requestCode==1){ Bundle MBuddle = data.getExtras(); String MMessage = MBuddle .getString("Date"); } } 

    no método A onActivityResult

      if(null!=data){ Bundle bundle = data.getExtras(); String mydate = bundle.getString("Date"); } 

    e em B

     Intent returnIntent = new Intent(); returnIntent.putExtra("Date",dateSelected); setResult(RESULT_OK,returnIntent); finish(); 

    Eu sei que isso é respondido, mas apenas paira dair mais explicações sobre o erro, você estava usando getIntent() vez do elemento de data recebido no callback.

    getIntent() retorna o Intenção que foi originalmente usado paira abrir a Atividade A (talvez quando você abriu o aplicativo ou de outra atividade) e os data são a intenção de que a Atividade B retornasse como pairâmetros de resposta.

    Além disso, você estava usando getIntent() na atividade B em vez de criair uma nova intenção que seria retornada paira a atividade A.

     Intent returnIntent = new Intent(); 

    Finalmente, a intenção criada deve ser adicionada em setResult

     setResult(RESULT_OK,returnIntent); 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.