AuthenticatorService在帐户设置中运行但没有任何内容

时间:2014-08-20 08:13:36

标签: android authentication accountmanager android-authenticator

我尝试在我的应用上创建自定义帐户类型,连续十个小时。

我的推荐信在这里: http://docs.huihoo.com/android/4.2/training/id-auth/custom_auth.html

Android Developpers示例here

我的步骤是:

  1. 创建一个Authenticator类,扩展AbstractAccountAuthenticator并覆盖7种方法。
  2. 创建AuthenticatorService类,扩展Service类,初始化Authenticator
  3. 创建扩展AuthenticatorActivity的{​​{1}}以及创建用户界面的位置以输入凭据。
  4. AccountAuthenticatorActivity
  5. 中添加服务,权限和活动
  6. 创建AndroidManifest.xml文件并设置信息
  7. 所有这些都做得很好,唯一要做的就是找到一种启动服务的方法。 所以我创建了另一个活动,并在@xml/authenticator方法中启动它。

    测试应用程序的时间,我决定在模拟器(API16)上运行它。 onCreate()已启动,我们可以在运行流程中查看应用流程和应用服务!

    所以我去DevTools / AccountsTester插入凭据......但这里没什么。仅限公司和电子邮件应用程序。我以为是因为模拟器,所以在我的GS3上尝试添加一个帐户,但它是一样的。

    在我的logcat中没有错误,我们可以看到服务正在运行(在我的服务类中使用MainActivity类)。

    我的代码与我的第二个引用完全相同,我只是通过返回一个简单的Log来改变服务器请求,所以在我的情况下,服务不使用外部服务器来获取有关提交的凭据的响应。

    我的工作中是否有任何错过的步骤?

1 个答案:

答案 0 :(得分:1)

我终于找到了一个小错误。当您使用Android Studio并创建新的XML ressource文件时(在示例中为authenticator.xml文件),会自动生成一些代码:

<?xml version="1.0" encoding="utf-8"?>
<ressources>

</ressources>

我的错误是在account-authenticatior中插入我的ressources项,而不是以root用户身份。

<?xml version="1.0" encoding="utf-8"?>
<account-authenticator xmlns:android="http://schemas.android.com/apk/res/android"
    android:accountType="e@string/account_type"
    android:icon="@drawable/myIcon"
    android:smallIcon="@drawable/myIcon"
    android:label="@string/app_name"
    />

我让这个答案给那些可能会像我一样想念的人。我还删除了startService()中的MainActivity方法,因为AuthenticatorService是自动启动的。