设置应用程序可以添加偏好设置屏幕吗?

6
在 iOS 中,应用程序开发人员可以使用 Settings.bundle\Root.plist 文件创建具有可编辑字段的首选项屏幕。该首选项屏幕通过设置应用访问,而不是通过应用本身访问。
在 Android 上是否也可以做同样的事情?我能否创建一个可以通过设置应用程序访问的首选项屏幕?

4
不是一般情况。有特定的钩子适用于特定的情况,比如将设置链接到您自己的自定义设置屏幕以配置应用程序的通知 - CommonsWare
3
更甚于此,如果你将应用程序的特定设置放在那里,安卓用户甚至不会考虑在那里寻找。 - Gabe Sechan
2个回答

13

Android 7.0+ 允许您创建具有 APPLICATION_PREFERENCES 动作的活动。通过一个齿轮图标,此活动将与您的应用程序页面在“设置”应用程序中链接。

<activity
  android:name="EditPreferences"
  android:label="@string/app_name"
  android:exported="false">
  <intent-filter>
    <action android:name="android.intent.action.APPLICATION_PREFERENCES" />
    <category android:name="android.intent.category.DEFAULT" />
  </intent-filter>
</activity>

android:exported="false"限制了访问权限:设置可以启动您的活动,但其他随意的应用程序不能。目前,我不确定为什么会这样,但它确实可以运行。

我在这篇博客文章中详细介绍了这个问题。


我们可以更改齿轮图标吗? - Tara
1
@Tara: 我不这么认为。请记住,所使用的图标,甚至是否提供此图标,取决于设备制造商,因为他们经常修订设置应用程序。 - CommonsWare
实际上,我正在为汽车操作系统设计媒体应用程序,我想要更改换挡和搜索图标,也许我们可以更改它,你有关于AAOS媒体服务工具栏的任何想法吗? - Tara
1
@Tara:抱歉,我从未涉足过Android汽车领域,那是一个非常专业的领域。 - CommonsWare

1
不,Android没有这个选项。如果你想要一个首选项屏幕,你需要像创建另一个Activity一样自己创建它,如果你需要保存首选项数据,请使用类Sharedpreferences

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接