Android 如何使用设备注册时使用的电子邮件id自动填充电子邮件编辑文本
我想用设备注册的gmail id自动完成emailId EditText。Android 如何使用设备注册时使用的电子邮件id自动填充电子邮件编辑文本,android,email,autocomplete,android-edittext,Android,Email,Autocomplete,Android Edittext,我想用设备注册的gmail id自动完成emailId EditText。 e、 g如果我的手机是用gmail id注册的sd@gmail.com当我开始键入“s”时,它应该自动完成。有什么想法吗???谢谢…您必须通过Android AccountManager课程: AccountManager manager = (AccountManager) getSystemService(ACCOUNT_SERVICE); Account[] list = manager.getAccounts(
e、 g如果我的手机是用gmail id注册的sd@gmail.com当我开始键入“s”时,它应该自动完成。有什么想法吗???谢谢…您必须通过Android AccountManager课程:
AccountManager manager = (AccountManager) getSystemService(ACCOUNT_SERVICE);
Account[] list = manager.getAccounts();
还需要向AndroidManifest文件添加所需的权限:
<uses-permission android:name="android.permission.GET_ACCOUNTS"></uses-permission>
从那里您可以自动填写信息。首先在AndroidManifest.xml文件中设置此权限
<uses-permission android:name="android.permission.GET_ACCOUNTS"></uses-permission>
在你的应用程序中,它必须自动完成你的注册电子邮件??这只是一个想法。一旦你得到了id,你为什么不把它设置为一个提示,而不是自动填充呢?你可以使用setHint()是的@shubhayu这是个好方法。但您不能选择提示。所以当你点击提示时,它就会消失。所以我用这些结果制作了一个ArrayAdapter,并使用AutoCompleteTextView而不是EditText。现在一切正常。请看:@Dallas大量编辑其他人答案的内容是不合适的。您可以将内容作为新的单独答案发布。回滚此答案,不要重复。@AndrewMedico您可能应该回滚到主要编辑之前的版本,因为该版本有拼写/语法/语法修复。
//declaration
String possibleEmail="";
//onCreate
EditText emailEdt=new EditText(this);
Account[] accounts = AccountManager.get(this).getAccounts();
for (Account account : accounts)
{
// TODO: Check possibleEmail against an email regex or treat
// account.name as an email address only for certain account.type values.
possibleEmail = account.name;
}
emailEdt.setText(possibleEmail);