3

我在commonsware 样本中查找了以下意图过滤器的活动

<intent-filter>
    <action android:name="android.intent.action.VIEW" />

    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />

    <data
        android:host="www.this-so-does-not-exist.com"
        android:path="/something"
        android:scheme="http" />
</intent-filter>

但是,相同的意图过滤器在应用于广播接收器时不起作用。

您能否指出是否可以将其应用于广播接收器,如果可以,在哪里寻找修复?

谢谢。

4

1 回答 1

0

正如官方文档所说:

... Intent 广播机制 .. 与用于使用 Context.startActivity() 启动活动的 Intent 完全分开。BroadcastReceiver 无法查看或捕获与 startActivity() 一起使用的 Intent;同样,当你广播一个 Intent 时,你永远不会找到或启动一个 Activity。这两个操作在语义上是非常不同的:使用 Intent 启动一个 Activity 是一个前台操作,它会修改用户当前正在与之交互的内容;广播 Intent 是用户通常不知道的后台操作。

来源:Android 开发者文档,BroadcastReceiver

希望这说明清楚。

于 2013-10-08T16:48:49.900 回答