정확한 질문인지 아닌지는 잘 모르겠다. Google Play 스토어로가는 사용자의 ID를 어떻게 얻을 수 있습니까? 가능합니다.안드로이드에서 사용자의 Gmail ID 얻기
4
A
답변
8
내 지식에 따라 사용자는 자신의 Android 계정에 Gmail 계정을 구성해야하며 Google Play에 액세스 할 수 있습니다. (Jim Blackler에서) 아래로
당신은 계정 정보를 가져올 수 :
import android.accounts.Account; import android.accounts.AccountManager; import android.content.Context; /** * This class uses the AccountManager to get the primary email address of the * current user. */ public class UserEmailFetcher { static String getEmail(Context context) { AccountManager accountManager = AccountManager.get(context); Account account = getAccount(accountManager); if (account == null) { return null; } else { return account.name; } } private static Account getAccount(AccountManager accountManager) { Account[] accounts = accountManager.getAccountsByType("com.google"); Account account; if (accounts.length > 0) { account = accounts[0]; } else { account = null; } return account; } }
매니페스트
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
4
당신이 필요로하지 않는 방법 후 경우 을 통해 권한을 요청하면 Google Play 서비스의 AccountPicker을 사용할 수 있습니다.
스폰 사용자가 원하는 Google 계정 선택할 수있는 대화 :
Intent intent = AccountPicker.newChooseAccountIntent(null, null, new String[]{"com.google"}, false, null, null, null, null);
startActivityForResult(intent, SOME_REQUEST_CODE);
은 다음 Activity
에 결과를 핸들 :
protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
if (requestCode == SOME_REQUEST_CODE && resultCode == RESULT_OK) {
String emailAddress = data.getStringExtra(AccountManager.KEY_ACCOUNT_NAME);
// do something...
}
}
당신의 build.gradle
의 종속성 compile 'com.google.android.gms:play-services-identity:8.+'
을 추가해야합니다 파일 (사용할 최신 버전 번호는 here을 확인하십시오).
참고 : 사용자가 권한 (사용자가 "연락처"권한 그룹에 직면 한 부분)에 명시 적으로 권한을 부여하지 않은 경우 FYI Android 6.0 이상에서는 안정적으로 작동하지 않습니다. 전자 메일 주소를 검색하는 다른 방법은 아래의 내 대답을 참조하십시오. –