【问题标题】:How to get intent filter and application name through a broadcast如何通过广播获取意图过滤器和应用程序名称
【发布时间】:2014-11-30 13:49:10
【问题描述】:

我需要知道是否有一种方法可以通过它发送到服务的广播来获取应用程序(活动)的意图过滤器以及我们在 android 启动器屏幕上看到的应用程序的实际名称。

服务通过它的广播接收器接收广播,然后它需要知道应用程序的名称和它的意图过滤器,以便对这些信息进行一些工作。有没有办法通过意图找出这一点,或者应用程序是否需要在意图中实际放入额外的内容?

【问题讨论】:

    标签: android android-intent intentfilter android-broadcast


    【解决方案1】:

    有没有办法通过intent找出来

    并非如此,因为Intent 没有关于Intent 的起始点的信息。

    应用程序是否需要在 Intent 中实际添加额外内容?

    是的,因为只有广播的发起者知道什么是合适的。毕竟,一个应用可能有零个、一个或多个启动器活动。

    欢迎您尝试Binder 上的getCallingUid() 和/或getCallingPid() 静态方法,以尝试自动推断发件人是谁,但如果有多个应用程序正在使用这可能效果不佳sharedUserId 在设备上。

    【讨论】:

    • 感谢您的帮助。你的回答很清楚很简单。另外,它为我节省了很多时间。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 2017-04-24
    相关资源
    最近更新 更多