通过客户经理添加帐户 [英] Adding account through Account manager

查看:142
本文介绍了通过客户经理添加帐户的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是新来的android的发展很抱歉,如果我要问一个很明显的question.For我的应用我想使用的帐户管理器自动添加一个谷歌帐户。难道我想用addAccount或addAccountExplicitly,我如何去这个假设的帐户名是白金,密码为软件。

I'm new to android development so sorry if im asking a really obvious question.For my app I want to add a google account automatically using account manager. Do I want to use addAccount or addAccountExplicitly and how do i go about this assuming the account name was "platinum" and the password is "software".

推荐答案

试试这个:

权限要求:

<uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/></uses-permission> 
<uses-permission android:name="android.permission.ACCOUNT_MANAGER"></uses-permission> 
<uses-permission android:name="android.permission.GET_ACCOUNTS"></uses-permission> 
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS"></uses-permission>

AuthenticatorActivity.java

public class SleepyAccountAuthenticatorActivity extends AccountAuthenticatorActivity  
{  
protected void onCreate(Bundle icicle)  
{  
    super.onCreate(icicle);  
    setContentView(R.layout.new_account);  
    final Button done = (Button) findViewById(R.id.new_account_done);  
    final EditText server = (EditText) findViewById(R.id.new_account_server);  
    final EditText username = (EditText) findViewById(R.id.new_account_username);  
    final EditText password = (EditText) findViewById(R.id.new_account_password);  
    final Activity self = this;  
    done.setOnClickListener(new OnClickListener() {  
        public void onClick(View v)  
        {  
            //Account
            Account account=new Account(username.getText().  
            toString(), getString(R.string.ACCOUNT_TYPE));  

            Bundle userdata = new Bundle();   
            userdata.putString("SERVER", server.getText().toString());  
            //AccountManager  
            AccountManager am = AccountManager.get(self);  

            if (am.addAccountExplicitly(account, password.  
            getText().toString(), userdata))  
            {  
                Bundle result = new Bundle();  
                result.putString(AccountManager.KEY_ACCOUNT_NAME, username.getText().toString());  
                result.putString(AccountManager.KEY_ACCOUNT_TYPE,getString(R.string.ACCOUNT_TYPE));  
                setAccountAuthenticatorResult(result);  
            }  
            finish();  
        }  
    });  
}  
}

\水库\ XML \ authenticator.xml

<?xml version="1.0" encoding="utf-8"?> 
 <account-authenticator xmlns:android="http://schemas.android.com/apk/res/android" 
 android:accountType="com.yarin.AccountType" 
 android:icon="@drawable/icon" 
 android:smallIcon="@drawable/icon" 
 android:label="@string/ACCOUNT_LABEL" 
 android:accountPreferences="@xml/account_preferences" 
 />

这篇关于通过客户经理添加帐户的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆