Como obter o nome da conta do google do usuário do telefone Android?
Então, eu estou fazendo jogo para celular com o mecanismo de unidade, pense em liberar para o Android.
Agora, meu jogo terá meu próprio quadro de recordes personalizado; acho que quando o usuário obtém pontuação, o jogo deve enviar seu apelido de identidade, pontuação para o servidor.
Então, para obter o nome distinto, acho que o nome da conta do Google. (é claro que posso escolher a opção que recebe a entrada do usuário pelo apelido, mas bem, cansativa)
Eu só preciso da parte frontal do formato de email (ou seja, nome de usuário)Exemplo, se a conta do google do usuário for [email protected], desejo extrair apenas "asdf".
Então, como fazê-lo?
E essa é uma boa maneira de obter seu apelido distinto?
Obrigado.
Então eu fiz assim, mas não funciona.
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);
}
e no lado da unidade, anexei o script ao objeto 'Câmera principal' e escrevi,
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);
}
mas quando executo isso no meu telefone após criar o arquivo .apk, não lê o nome da conta.
O que está errado?