我已经为我的应用程序创建了我的自定义身份验证器。我现在已经到了允许用户删除他们的帐户的地步,如果他们愿意的话。我知道我在身份验证器 XML 文件中为身份验证器定义了一个设置屏幕:
<account-authenticator xmlns:android="http://schemas.android.com/apk/res/android"
android:accountType="@string/authentication_account_type"
android:icon="@drawable/ic_launcher"
android:smallIcon="@drawable/ic_launcher"
android:label="@string/app_name"
android:accountPreferences="@xml/authenticator_preferences" />
最后一个属性android:accountPreferences
是我定义PreferenceScreen
XML 的地方。这就是我遇到麻烦的地方...据我了解,我定义的首选项android:accountPreferences
是最终用户在设备设置下单击其帐户时显示的内容。但是,我如何阅读这些偏好?或者为每个偏好处理点击事件?我希望做的就是允许用户直接从操作系统提供的首选项屏幕中删除他们的帐户。
我已经在 SO 上查看了其他潜在的解决方案:
但是,我可以从这些先前的问题中找到的最佳答案是在 中包含一个<intent>
标签<PreferenceScreen>
并启动您定义的设置活动。但是,这对我来说没有意义……我查看了我的个人手机,并且我拥有的每个帐户都显示了一个偏好屏幕,该屏幕显示为操作系统原生。我不应该以同样的方式定义我的偏好吗?我看过三星 Galaxy S9 和 Pixel 3,两者的设置屏幕都是原生的。
我怎样才能达到同样的效果?更重要的是,我如何与这些设置进行交互?与往常一样,我们将非常感谢您对此提供的任何帮助!