2016-11-11 56 views
0

发送邀请请求,谷歌,加上发送邀请请求,谷歌,加上后不接收onActivityResult()回调

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

后onActivityResult()不接受回调请帮我

+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()