2016-11-11 7 views
0

nicht Rückrufs in onActivityResult Empfang() nach Anfrage an Google laden Senden undNicht Rückruf in onActivityResult Empfang() nach Anfrage an Google einladen Senden und

public void sendGooglePlusInvite(){ 
Intent intent = new AppInviteInvitation.IntentBuilder(getActivity().getString(R.string.app_name)) 
      .setMessage(getActivity().getString(R.string.invite_message_less)) 
      .setCustomImage(Uri.parse(getActivity().getString(R.string.app_image_url))) 
      .build(); 
    getActivity().startActivityForResult(intent, REQUEST_INVITE); 
} 

auf Rückruf in

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 

    // Result returned from launching the Intent from GoogleSignInApi.getSignInIntent(...); 
    if (resultCode == getActivity().RESULT_OK) { 
     if (requestCode == REQUEST_INVITE) { 
      // Get the invitation IDs of all sent messages 
      String[] ids = AppInviteInvitation.getInvitationIds(resultCode, data); 
      for (String id : ids) { 
       Log.d("TAG", "onActivityResult: sent invitation " + id); 
      } 
     } 
    } else { 
     // Sending failed or it was canceled, show failure message to the user 
     // ... 
    } 
} 

Bitte help me

+1

'onActivityResult' ist in' Fragment' oder 'Activity'? –

Antwort

0

Ja, Sie können Rückruf auf diese Weise nicht erhalten:

Um das Ergebnis in Ihrem Fragment zu erhalten, rufen Sie startActivityForResult(intent,REQUEST_INVITE); anstelle von getActivity().startActivityForResult(intent,REQUEST_INVITE); in Ihrem Fragment auf.

Und zweitens sicherstellen, dass Sie diese Methode in Ihrer Aktivität implementieren:

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
} 

dies wird Ihr Fragment nennen onActivityResult()

Verwandte Themen