c# - Get all gmail accounts on android in unity -
i trying create register , login system using google account username , wondering there way google accounts on android device string , put them in array?
this answer based on other answer in java. using androidjavaclass , androidjavaobject, won't need java code , jar/aar plugin at-all. done 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]; (int = 0; < accountname.length; i++) { accountname[i] = accountarray[i].get<string>("name"); } return accountname; } you need permission in manifest:
<uses-permission android:name="android.permission.get_accounts" /> this post describes how use manifest in unity project.
Comments
Post a Comment