从安卓账户管理器的“添加账户”中移除我的应用程序。

5
当用户在我的应用中创建新帐户时,我会在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" />
1个回答

3
据我所了解,您不希望用户在同一设备上拥有多个服务账户。这里有两个选项:
  1. 管理用户是否已经添加了一个账户。当用户导航至“设置”>“账户”>“添加账户”,选择您的服务时,您将检查设备上是否有已注册的账户。如果有,则拒绝新的身份验证。

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


谢谢回答。但我找不到任何停止此服务的方法。有什么建议吗? - Kulibin
你是指“如何禁用”吗?请参考PackageManager.setComponentEnabledSetting() - ozbek
有一些额外的工作和开销,但你可以选择选项1。 - ozbek
是的。我认为这在我的情况下将是最好的解决方案。 - Kulibin
@ozbek 如何实现选项1? - KJEjava48
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接