2016-11-11 4 views
0

не получает обратный вызов в onActivityResult() после отправки пригласить запрос на Google плюсНе получив обратный вызов в onActivityResult() после отправки пригласить запрос на Google плюс

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); 
} 

по вызову обратно в

@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 
     // ... 
    } 
} 

Пожалуйста помогите мне

+1

'onActivityResult' в' Fragment' или 'Activity'? –

ответ

0

Да, вы не можете получить обратный вызов таким образом:

Чтобы получить результат в вашем фрагменте, убедитесь, что внутри вашего фрагмента вы вызываете startActivityForResult(intent,REQUEST_INVITE); вместо getActivity().startActivityForResult(intent,REQUEST_INVITE);.

А во-вторых, убедитесь, что вы реализуете этот метод в своей деятельности:

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

это будет вызывать ваш осколком onActivityResult()