【问题标题】:Remove my app from android account manager "add account"从 android 帐户管理器“添加帐户”中删除我的应用
【发布时间】:2013-06-03 12:18:20
【问题描述】:

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

【问题讨论】:

    标签: android accountmanager account-management


    【解决方案1】:

    据我了解,您不希望用户在一台设备上拥有您的服务的多个帐户。我在这里看到两个选项:

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

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

    【讨论】:

    • 谢谢你的答案。但我找不到任何方法来停止这项服务。有什么想法吗?
    • 你的意思是“如何禁用”?请参考PackageManager.setComponentEnabledSetting()
    • 我查过了。我得到了什么:我创建了新帐户,然后禁用了我的 AuthService。然后(当我需要它时)我启用此服务并想要获取我保存的帐户。但是这个帐户不可用,当我禁用该服务时它被删除了。所以我不能禁用我的服务。而且,很可能,不可能做我想做的事......无论如何,谢谢帮助。
    • 一些额外的工作和开销,但您可以使用选项 1。
    • 是的。我认为这将是我的最佳解决方案。
    猜你喜欢
    • 2019-04-10
    • 2013-05-17
    • 1970-01-01
    • 2016-09-23
    • 1970-01-01
    • 2019-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多