gpt4 book ai didi

Android:读取身份验证器 xml 中设置的首选项

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:59:56 26 4
gpt4 key购买 nike

我想读入我通过身份验证器 xml 文件设置的代码首选项。我找到了 Can't access preferences set in account-authenticator in AndroidHow can access preferences set in account-authenticator in Android一个完全没有答案,另一个说我需要创建自己的 Activity 。这听起来确实很奇怪,因为这意味着我可以通过 xml 配置的首选项是无用的,因为我永远无法再次读取它们。那不可能。有人知道更多吗?如果我真的必须创建自己的 Activity ,对于身份验证器,我该如何做?

最佳答案

来自 AbstractAccountAuthenticator 的文档:

The preferences attribute points to a PreferenceScreen xml hierarchy that contains a list of PreferenceScreens that can be invoked to manage the authenticator. An example is:

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="@string/title_fmt"/>
<PreferenceScreen
android:key="key1"
android:title="@string/key1_action"
android:summary="@string/key1_summary">
<intent
android:action="key1.ACTION"
android:targetPackage="key1.package"
android:targetClass="key1.class"/>
</PreferenceScreen>
</PreferenceScreen>

所以看起来即使可以将个人首选项放在 account_preferences.xml 中,但它并不打算这样做,因此无法访问这些值。

参见 this有关如何设置和处理 PreferenceScreen Intent 的详细信息的问答。

编辑

对于一个非常基本的工作示例,您可以从 Sync Adapter Training Docs 下载示例应用程序并编辑如下。

创建如下所示的 res/xml/account_preferences.xml

<?xml version="1.0" encoding="UTF-8" ?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="Category"/>
<PreferenceScreen
android:key="key1"
android:title="@string/app_name"
android:summary="@string/account_name">
<intent
android:targetPackage="com.example.android.network.sync.basicsyncadapter"
android:targetClass="com.example.android.network.sync.basicsyncadapter.EntryListActivity"/>
</PreferenceScreen>
</PreferenceScreen>

android:accountPreferences="@xml/account_preferences"添加到authenticator.xml中的account-authenticator标签。

此示例启动示例中的现有 Activity ,但可以轻松启动 PreferenceActivity(或您想要的任何其他 Activity )。查看Settings有关如何设置 PreferenceActivity 的详细信息的指南。

有关核心 Android 应用程序的真实示例,请参阅电子邮件应用程序的实现 here .

关于Android:读取身份验证器 xml 中设置的首选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31029610/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com