为什么使用隐式意图启动服务不安全?

dco*_*cow 3 android intentfilter android-intent

当我以隐含意图启动服务时,我收到警告:

使用startservice的隐含意图并不安全:...

为什么?

编辑:

我正在使用我自己的内部类别,没有其他应用程序应该使用,我的服务不会导出android:exported="false".

Pan*_*mar 10

通过使用 Implicit Intents你没有指定一个组件,它意味着组件将由Android给定的选择Intent-Action.

使用android:exported="false"将确保,其他无法启动您的服务.但是,如果我编写了一个BroadcastReeciver用于监听您Intent-Action并执行恶意工作的应用程序,该怎么办?

当我将一个服务声明到我的应用程序并使用相同的类别/过滤器/操作时,也会发生同样的情况.

所以使用Explicit Intents.

  • @PankajKumar我正在使用android许可证检查代码(LVL),使用这个"新Intent("com.android.vending.licensing.ILicensingService")"的绑定服务.获取相同的警告和服务无法启动.仅适用于4.0及更高版本的设备. (3认同)