【问题标题】:Programmatically list intent-filters以编程方式列出意图过滤器
【发布时间】:2012-03-22 00:49:08
【问题描述】:

在 android Activity 中有没有办法以编程方式列出它已注册的活动?

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

我正在尝试确定当前 Activity 是否为 LAUNCHER。

【问题讨论】:

  • 你想要这样做表明你的应用程序设计得很糟糕,你需要这样做是为了什么?
  • 不一定,别那么快判断。
  • @KristopherMicinski 您是否需要知道开发人员为什么要这样做?你太挑剔了,伙计,你以为你是谁?在某些情况下,最佳实践和标准无法满足非常具体的用例。我见过许多软件公司推广最佳实践、设计模式等。但在他们生产的许多应用程序中,我发现了很多糟糕的设计和大量使用已弃用的 API。我不认为他们不好,只要对他们和他们的用户有用,那就很好。
  • @KristopherMicinski 如果你想编写单元测试来测试你的 AndroidManifest.xml 文件的正确性,这非常有用。特别是如果您有一个包含合并清单的复杂多风格项目。

标签: android android-activity intentfilter


【解决方案1】:

我想包管理器会告诉你你在找什么。

http://developer.android.com/reference/android/content/pm/PackageManager.html

public abstract ActivityInfo getActivityInfo (ComponentName component, int flags)

标志可能包含的位置

GET_INTENT_FILTERS

【讨论】:

猜你喜欢
  • 2012-12-18
  • 2017-03-23
  • 1970-01-01
  • 2012-03-15
  • 2016-01-08
  • 1970-01-01
  • 2011-07-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多