我不知道这是不是正确的问题。我们如何才能获得用户在Android中使用谷歌Play商店的内容。这是否可能。
答案 0 :(得分: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" />
答案 1 :(得分:5)
如果您使用的方法不需要通过AndroidManifest.xml
申请权限,则可以使用Google Play服务&#39; 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...
}
}
请务必将compile 'com.google.android.gms:play-services-identity:8.+'
添加到build.gradle
文件中的相关内容中(查看here以获取要使用的最新版本号。)