我在同一台设备上有多个应用程序,其中一个有一个IntentService,它通过以下方式从其他应用程序调用:
val intent = Intent()
intent.component = ComponentName(APP_PACKAGE, INTENT_APP_SERVICE)
intent.putExtras(key, value)
context.startService(intent)一切都如期而至。
我的问题是,当我在导出服务的应用程序中更改服务名称时,会发生什么?我是否也必须更改INTENT_APP_SERVICE以匹配新名称?还是有另一种向后兼容的方式?
发布于 2020-11-27 14:30:01
,当我在导出它的应用程序中更改服务的名称时,会发生什么?
你完蛋了,除非你能以某种方式强迫每个用户更新你的应用程序。
,我是否也必须更改INTENT_APP_SERVICE以匹配新名称?
是的,考虑到你的设置。
还是有另一种向后兼容的方式?
步骤1:使用自定义<intent-filter>向<service>添加action
步骤2:设置startService() Intent以使用该操作,plus setPackage(),而不是ComponentName
现在,您的服务客户端独立于服务本身的名称,因此您可以重构或重新命名该服务,而不存在任何问题。
https://stackoverflow.com/questions/65038962
复制相似问题