cre*_*tor 1 android google-account
所以我用统一引擎制作手机游戏,想想发布到android目标.
现在我的游戏将有我自己的自定义高分榜,我认为当用户获得分数时,游戏应该发送他的身份昵称,得分到服务器.
因此,为了获得他的独特名称,我想要获得他的谷歌帐户名称.(当然我可以选择接收用户输入的选项作为他的昵称,但很好,很烦人)
我只需要电子邮件格式的前端部分(即用户名) 例如,如果用户的谷歌帐户是asdf@gmail.com,我想只提取"asdf".
那么,怎么做呢?
这是获得他独特昵称的好方法吗?
谢谢.
所以我确实喜欢这个,但是没有用.
public class MainActivity extends UnityPlayerActivity implements AndroidInterface{
private String usergoogleName;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
GetUserName();
}
public void GetUserName(){
AccountManager manager = AccountManager.get(this);
Account[] accounts = manager.getAccountsByType("com.google");
List<String> username = new LinkedList<String>();
for (Account account : accounts) {
username.add(account.name);
}
usergoogleName = username.get(0);
sendMessage("Main Camera", "JavaMsg", usergoogleName);
}
@Override
public void sendMessage(String target, String method, String params) {
// TODO Auto-generated method stub
UnityPlayer.UnitySendMessage(target, method, params);
}
Run Code Online (Sandbox Code Playgroud)
在统一方面,我将脚本附加到'Main Camera'对象并写入,
public string name;
public void JavaMsg(string str){
name = str;
}
void OnGUI(){
GUI.Label(new Rect(100, 200, 300, 100), "google account name is " + name);
}
Run Code Online (Sandbox Code Playgroud)
但是当我在制作.apk文件后在我的手机上运行它时,不会读取帐户名称.
怎么了?
试试这个
AccountManager manager = AccountManager.get(context);
Account[] accounts = manager.getAccountsByType("com.google");
List<String> username = new LinkedList<String>();
for (Account account : accounts) {
username.add(account.name);
}
Run Code Online (Sandbox Code Playgroud)
并添加Android清单的权限
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4818 次 |
| 最近记录: |