Javascript 使用Gmail帐户登录我的应用程序?

Javascript 使用Gmail帐户登录我的应用程序?,javascript,android,security,gmail,Javascript,Android,Security,Gmail,对于我正在开发的android应用程序,它需要创建一个配置文件来向其他用户发送和接收内容。对于登录过程,用户是否可以使用手机上关联的Gmail帐户登录?这将是同一个帐户,是积极使用谷歌播放 这将使整个登录过程非常顺利,我认为这将是最好的方案 非常感谢 是的,这是可能的,而且非常简单。在开始之前,您需要向AndroidManifest.xml添加一个权限 <uses-permission android:name="android.permission.GET_ACCOUNTS">&l

对于我正在开发的android应用程序,它需要创建一个配置文件来向其他用户发送和接收内容。对于登录过程,用户是否可以使用手机上关联的Gmail帐户登录?这将是同一个帐户,是积极使用谷歌播放

这将使整个登录过程非常顺利,我认为这将是最好的方案


非常感谢

是的,这是可能的,而且非常简单。在开始之前,您需要向AndroidManifest.xml添加一个权限

<uses-permission android:name="android.permission.GET_ACCOUNTS"></uses-permission>
这将返回用户的所有google帐户。在您的情况下,您可能只需要电子邮件,因此这里有一个快速的静态功能,可以为您提供:

public static String[] getAccounts(Context context) {
    Account[] accounts = AccountManager.get(context).getAccountsByType("com.google");
    String[] names = new String[accounts.length];

    for (int i = 0; i < accounts.length; ++i) names[i] = accounts[i].name;

    return names;
}

一旦你拥有了他们所拥有的HTTP API的令牌,你就会玩得很开心:-)

看看这篇文章,它可能是你所需要的:,也可能是这篇:
public static String[] getAccounts(Context context) {
    Account[] accounts = AccountManager.get(context).getAccountsByType("com.google");
    String[] names = new String[accounts.length];

    for (int i = 0; i < accounts.length; ++i) names[i] = accounts[i].name;

    return names;
}
<uses-permission android:name="android.permission.USE_CREDENTIALS"></uses-permission>
public static String getToken(Activity activity, String serviceName) {
        try {
            Bundle result = AccountManager.get(activity).getAuthToken(account, serviceName, null, activity, null, null).getResult();

            return result.getString(AccountManager.KEY_AUTHTOKEN);
        } catch (OperationCanceledException e) {
            Log.d("Test", "Operation Canceled");
        } catch (AuthenticatorException e) {
            Log.d("Test", "Authenticator Exception");
        } catch (IOException e) {
            Log.d("Test", "Auth IOException");
        }

        return null;
}