AppInvites는 startActivityForResult 를 호출해서 개시된다. 이것은 AppInvites UI 가 초대장을 생성하고 onActivityResult 를 통해 활동을 호출하는 완성된 상태를 반환하는 것을 처리한다. oncrete에서 GoogleApiClient를 초기화 한다.
if (requestCode == REQUEST_IMAGE) { if (resultCode == RESULT_OK) {
//...
} } elseif (requestCode == REQUEST_INVITE) { if (resultCode == RESULT_OK) { // Check how many invitations were sent and log. String[] ids = AppInviteInvitation.getInvitationIds(resultCode, data); Log.d(TAG, "Invitations sent: " + ids.length); } else { // Sending failed or it was canceled, show failure message to the user Log.d(TAG, "Failed to send invitation."); } } }
초대는 메뉴 아이템으로 구성해서 sendInvitation을 호출한다.
MainActivity.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
@Override publicbooleanonOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.invite_menu: sendInvitation(); returntrue; case R.id.fresh_config_menu: fetchConfig(); returntrue; case R.id.sign_out_menu: mFirebaseAuth.signOut(); mUsername = ANONYMOUS; startActivity(newIntent(this, SignInActivity.class)); returntrue; default: returnsuper.onOptionsItemSelected(item); } }
초대 실행
앱을 실행하고 메뉴 항목에서 Invite를 실행하면 App Intites가 실행되어 현재 단말의 주소록에서 이메일 혹은 SMS 사용자가 표시된다. 모든 사용자에게 보내거나 사용자를 선택해서 작성한 메시지와 앱 주소를 보내게 된다.