在账户与同步菜单Android应用显示设置(Show settings under accounts

2019-06-24 13:59发布

我实现了一个Android应用程序一个syncadapter并想使“帐户与同步”菜单下的可用帐户设置。 我已经看到了这在Dropbox的应用做了(如下图所示),但我一直没能找到关于如何做到这一点的文档。 我有占添加,只是想加入这个菜单链接到帐户设置。

Answer 1:

在你的Android清单,你应该有这样的一个部分来定义您的帐户身份验证:

<service android:name="AccountAuthenticatorService"
 android:exported="true" android:process=":auth">
 <intent-filter>
  <action android:name="android.accounts.AccountAuthenticator" />
 </intent-filter>
 <meta-data android:name="android.accounts.AccountAuthenticator"
  android:resource="@xml/authenticator" />
</service>

上面的元数据标签应指向定义您的帐户,这样的XML文件:

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

Android的:accountPreferences上面的属性点来定义您的喜好屏幕,像这样的XML文件:

<PreferenceScreen
  xmlns:android="http://schemas.android.com/apk/res/android">
    <PreferenceCategory
            android:title="General Settings" />

    <PreferenceScreen
        android:key="account_settings"
        android:title="Account Settings"
        android:summary="Sync frequency, notifications, etc.">
        <intent
            android:action="fm.last.android.activity.Preferences.ACCOUNT_SETUP"
            android:targetPackage="fm.last.android"
            android:targetClass="fm.last.android.activity.Preferences" />
    </PreferenceScreen>
</PreferenceScreen>

上述PreferenceScreen将推出的意图,显示设置屏幕,但你也可以直接在XML文件中定义的设置。



Answer 2:

如果我理解正确的,你想从你的应用程序中出现“帐户与同步设置”屏幕。 对于这一点,你必须火设置的意图。 下面给出使用代码:

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setComponent(new ComponentName("com.android.providers.subscribedfeeds","com.android.settings.ManageAccountsSettings"));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

希望这有助于...



文章来源: Show settings under accounts & sync menu for android app