使用startActivity()设置主题/样式

简单的问题:

我在我的Android 3.0应用程序中使用PICK_CONTACT 。 问题是,联系应用程序有一个轻的主题,而我的应用程序使用一个黑暗的。

所以问题是:

有没有一种方法来设置使用startActivity()时的风格/主题?

如果我正在创build自己的库,并且希望用户能够使用自定义样式,那么我需要收到一些intent ? 有没有更好的方法来解决这个问题?

Solutions Collecting From Web of "使用startActivity()设置主题/样式"

有没有一种方法来设置使用startActivity()时的风格/主题?

不可以。您无权乱用其他应用程序的用户界面,不仅仅是他们有权利惹恼您的用户界面。

PICK_CONTACT的情况下,如果您愿意拥有READ_CONTACTS权限,那么没有任何东西可以阻止您编写自己的联系人select器活动,这是您想要的主题。

如果我正在创build自己的库,并且希望用户能够使用自定义样式,那么我需要收到一些意图?

由于没有setStyle()方法,dynamic改变一个activity的风格似乎很麻烦。

如果您的库将作为Android库项目提供,您可以为开发人员提供主题资源和指导,这些开发人员在将活动添加到清单时可以select在编译时使用哪个主题。

没有。

一般来说,没有规定主题/风格的标准方法,一个Activity应该启动:你的想法(把一些东西放在意图中)实际上是一个很好的做法,但是它又不是标准的。

在标准通讯录应用程序源代码( https://android.googlesource.com/platform/packages/apps/Contacts )中漫游时,无法在PICK_CONTACT将要调用的任何Activity类中指定主题。

你最好的select是build立一个自定义的联系人select器,并使用内容提供者。 你需要请求权限,这将是有点混乱,但似乎是得到你想要的唯一方法。