2013-06-03 84 views
5

当用户在我的应用程序中创建新帐户时,我在Android帐户管理器中创建新帐户。 因此,用户可以在设置 - >帐户和同步中看到他的帐户...从Android帐户管理器“添加帐户”删除我的应用程序

所以问题:当用户在帐户中单击“添加新帐户”并同步时,是否可以从列表中删除我的应用程序?用户不应该在此列表中看到我的应用,但仍可以在我的应用中创建帐户。

PS。我不想在点击添加帐户时打开活动,我只是不想在列表中显示我的应用程序点。

我有我的清单:

<service 
     android:name="myPackage.authenticator.AuthenticationService" 
     android:exported="false" > 
     <intent-filter> 
      <action android:name="android.accounts.AccountAuthenticator" /> 
     </intent-filter> 

     <meta-data 
      android:name="android.accounts.AccountAuthenticator" 
      android:resource="@xml/authenticator" /> 
    </service> 

我的认证:

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

回答

3

据我了解,你不希望用户能够在设备服务的多个帐户。我在这里看到两个选项:

  1. 如果用户已经添加帐户,则进行管理。当用户导航到设置>帐户>添加帐户并选择您的服务时,您将检查设备上是否有任何注册帐户。如果有,拒绝新的认证。

  2. 在用户添加她的第一个帐户(可能不安全)后立即禁用"myPackage.authenticator.AuthenticationService",以便系统(设置应用程序)在解析身份验证提供程序时无法找到您的服务。

+0

Thx为答案。但我找不到任何方法阻止这项服务。有任何想法吗? – Kulibin

+0

你的意思是“如何禁用”?请参阅['PackageManager.setComponentEnabledSetting()'](https://developer.android.com/reference/android/content/pm/PackageManager.html) – ozbek

+0

我检查了它。我得到了什么:我创建了新帐户,然后禁用了我的AuthService。然后(当我需要它)我启用此服务,并希望得到我保存的帐户。但是这个帐户不可用,当我禁用服务时它被删除。所以我不能禁用我的服务。而且,很可能无法做到我想要的......无论如何,thx寻求帮助。 – Kulibin

相关问题