android学习笔记之创建自己的账号系统

安卓有自己的账号管理类AccountManager:

刚刚学习了下如何使用,记录一下:

1、取得账户管理服务:

AccountManager am=AccountManager.get(this);

2、获取所有账户:

Account[] accounts=am.getAccounts();
3、manifest中添加权限:
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>

以上是只是获取系统已经有的账号;

下面看一下如何为自己的应用程序添加账户:

1、新建一个AccountAuthenticService 继承Service;

2、在里面添加一个addAccount方法;

具体代码如下:

public class AccountAuthenticatorService extends Service{
	private static final String TAG="AccountAuthenticatorService";
	public static Bundle addAccount(Context ctx){
    	AccountManager am=AccountManager.get(ctx); //获取系统中的账户管理服务 	
    	Account item=new Account("dengliang", "com.dengliang.agitdemo.account");//新建一个账户(name,type)
    	am.addAccountExplicitly(item, null, null);//添加到系统中
    	Log.i(TAG,"addAccount finished!");
		return null;
	}
}

3、在res下新建xml文件夹并新建authenticator.xml

内容如下:

<account-authenticator xmlns:android="http://schemas.android.com/apk/res/android"
                       android:accountType="com.dengliang.agitdemo.account"
                       android:icon="@drawable/icon"
                       android:smallIcon="@drawable/icon"
                       android:label="@string/app_name"
        />

注意这里的accountType要对应你在Service中新建账户的type;

4、在manifest文件中添加相应权限,并注册Service:

       <service android:exported="true" android:name="com.dengliang.agitdemo.sync.AccountAuthenticatorService">
            <intent-filter>
                <action android:name="android.accounts.AccountAuthenticator"/>
            </intent-filter>
            <meta-data android:name="android.accounts.AccountAuthenticator" android:resource="@xml/authenticator"/>        
        </service>
    </application>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS"/>
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
<uses-permission android:name="android.permission.USE_CREDENTIALS"/>

注意<meta-date />中的android:resource要与你在第三部中添加的authenticator.xml文件的路径一致;

这样你在主Activity中新建Service并调用addaccount()方法就可以实现添加账户了;

最后的实现效果图:




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值