Intent好像没有数据,它有什么应用吗?
Intent seems has no data, does it have any applications?
ADB 可用于发送广播意图,例如:
adb shell am broadcast -a com.whereismywifeserver.intent.TEST --es
sms_body "test from adb"
其中:-a
是操作,-es
是额外的字符串。我的想法是 action 参数是必需的,因为意图接收器使用它来接收使用(意图过滤器)的意图。但是,我注意到我们可以在不指定操作的情况下发送意图,例如:
adb shell am broadcast -n com.google.android.deskclock/com.android.deskclock/com.android.deskclock.AlarmInitReceiver
为什么这是可能的?不是空想吗?以及这种东西的任何应用程序?
Isn't an empty intent?
没有。 -n
创建一个明确的 Intent
,它标识应用程序 ID (com.google.android.deskclock
) 和组件 (com.android.deskclock.AlarmInitReceiver
)。使用显式 Intent
直接将 Intent
传递给指定的组件;在你的情况下,通过广播。
and any applications of such thing?
显式 Intents
在 Android 中被广泛使用,甚至比隐式 Intents
更常用。示例包括:
点击主屏幕启动器图标(startActivity()
带有明确的 Intent
)
JobService
和其他专门服务 类(bindService()
带有明确的 Intent
)
ACTION_MY_PACKAGE_REPLACED
(sendBroadcast()
带有明确的 Intent
)
ADB 可用于发送广播意图,例如:
adb shell am broadcast -a com.whereismywifeserver.intent.TEST --es sms_body "test from adb"
其中:-a
是操作,-es
是额外的字符串。我的想法是 action 参数是必需的,因为意图接收器使用它来接收使用(意图过滤器)的意图。但是,我注意到我们可以在不指定操作的情况下发送意图,例如:
adb shell am broadcast -n com.google.android.deskclock/com.android.deskclock/com.android.deskclock.AlarmInitReceiver
为什么这是可能的?不是空想吗?以及这种东西的任何应用程序?
Isn't an empty intent?
没有。 -n
创建一个明确的 Intent
,它标识应用程序 ID (com.google.android.deskclock
) 和组件 (com.android.deskclock.AlarmInitReceiver
)。使用显式 Intent
直接将 Intent
传递给指定的组件;在你的情况下,通过广播。
and any applications of such thing?
显式 Intents
在 Android 中被广泛使用,甚至比隐式 Intents
更常用。示例包括:
点击主屏幕启动器图标(
startActivity()
带有明确的Intent
)JobService
和其他专门服务 类(bindService()
带有明确的Intent
)ACTION_MY_PACKAGE_REPLACED
(sendBroadcast()
带有明确的Intent
)