2013-06-03 83 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

相關問題