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

来源:互联网 发布:网络视听审核通则支持 编辑:程序博客网 时间:2024/05/11 12:20

安卓有自己的账号管理类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()方法就可以实现添加账户了;

最后的实现效果图:




0 0
原创粉丝点击