0
ユーザー名としてGoogleアカウントを使用して登録とログインシステムを作成しようとしていますが、アンドロイドデバイスのすべてのGoogleアカウントを文字列として取得し、配列?団体でアンドロイドのGmailアカウントをすべて取得する
ユーザー名としてGoogleアカウントを使用して登録とログインシステムを作成しようとしていますが、アンドロイドデバイスのすべてのGoogleアカウントを文字列として取得し、配列?団体でアンドロイドのGmailアカウントをすべて取得する
この回答はJavaにある私のother回答に基づいています。 AndroidJavaClass
とAndroidJavaObject
を使用すると、Javaコードとjar/aarプラグインは必要ありません。それはすべてC#から行われます。
string[] getAndroidEmailAccounts()
{
AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject currentActivity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
AndroidJavaClass ACManager = new AndroidJavaClass("android.accounts.AccountManager");
AndroidJavaObject ACManagerAct = ACManager.CallStatic<AndroidJavaObject>("get", currentActivity);
AndroidJavaObject accounts = ACManagerAct.Call<AndroidJavaObject>("getAccountsByType", "com.google");
AndroidJavaObject[] accountArray = AndroidJNIHelper.ConvertFromJNIArray<AndroidJavaObject[]>(accounts.GetRawObject());
string[] accountName = new string[accountArray.Length];
for (int i = 0; i < accountName.Length; i++)
{
accountName[i] = accountArray[i].Get<string>("name");
}
return accountName;
}
はあなたのマニフェストにこの権限が必要になります。
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
Thisポストはユニティプロジェクトでマニフェストを使用する方法について説明します。
repplyは非常に長く伸びています。 GmailのGoogle APIをチェックし、Unity3dから再起動サービスを呼び出す必要があります。しかし答えはイエスです、それを行う方法があります。 – joreldraw