【问题标题】:Android account authenticator: distinguish between accounts in preference screenAndroid 帐户验证器:在首选项屏幕中区分帐户
【发布时间】:2013-09-10 13:33:17
【问题描述】:

我的帐户验证器就像一个魅力,它的 xml 看起来或多或少是这样的:

<account-authenticator xmlns:android="http://schemas.android.com/apk/res/android"
    android:accountType="lorenzoff_account"
    android:icon="@drawable/nice_icon"
    android:smallIcon="@drawable/nice_icon"
    android:label="@string/app_name" 
    android:accountPreferences="@xml/account_preferences" />

通过这个身份验证器可以管理多个帐户,假设 account_A,account_B。 一旦定义了这两个帐户,访问 Account & Sync 设置并单击其中一个会打开相关的 account_preferences 屏幕。 它的 xml 看起来或多或少是这样的:

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
   <PreferenceCategory android:title="@string/title_fmt" />
   <PreferenceScreen
        android:key="key1"
        android:title="click me"
        android:summary="dont be afraid, click!">
        <intent
            android:action="com.lorenzoff.authenticator.ACTION_UNKNOWN"
            android:targetPackage="key1.package"
            android:targetClass="key1.class" />
    </PreferenceScreen>
</PreferenceScreen>

我的问题是我无法弄清楚如何区分意图接收类中的两个帐户。如果我点击 account_A 或 account_B,在这两种情况下,接收类都会正确接收 com.lorenzoff.authenticator.ACTION_UNKNOWN 操作,但我如何确定是点击了 accout_A 还是 account_B?

【问题讨论】:

    标签: android authentication account


    【解决方案1】:

    一些实验表明,标准 Android 设置应用通过启动 android:accountPreferences 活动的 Intent 附带的 extras Bundle 中的密钥 "account" 传递目标帐户。

    不幸的是,我似乎也看不到任何文件可以保证这是否总是正确的;如果有人能证明并非如此,那就太好了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-16
      • 2021-06-15
      • 1970-01-01
      • 2019-03-16
      • 2020-01-20
      • 2022-01-10
      相关资源
      最近更新 更多