对于stopService(Intent(...)),『这个参数是一个新实例,因此stopService将不会移除任何内容』这个说法有效吗,还是说这是误报?

移动开发 2026-07-10

当我在某个版本的Android Studio中运行 Inspect Code 时,我在 MainActivity 的以下代码处收到了警告,具体是在创建 Intent 的位置:

stopService(
    Intent(
        this,
        LocationService::class.java,
    )
)

警告信息:

Android Lint: Correctness group   1 warning
  Implicit SAM Instances inspection   1 warning
    file MainActivity.kt   1 warning
      WARNING This argument is a new instance so stopService will not remove anything

我的主要问题是,这个警告对于这次 stopService(Intent(...)) 调用是否真正有效。

如果警告是正确的,那么无论版本差异,我都应该修复代码。 如果不正确,我想了解为什么它只在特定环境中被报告。

该警告在Android Studio的版本中一直存在,直到Android Studio Narwhal | 2025.1.1 Canary 8。

ScreenShot

从Android Studio Narwhal | 2025.1.1 Canary 9开始,警告不再报告。

这个警告对这段代码是否有效,还是更可能在那个特定环境中属于误报?

解决方案

我发现这是一个已知问题,并且已经得到修复:

https://issuetracker.google.com/issues/413411317

因此,不需要对我的代码进行任何修改。

自行解决后关闭。

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章