【问题标题】:How to simulate a service killed by the Android system如何模拟一个被安卓系统杀死的服务
【发布时间】:2015-11-02 13:11:59
【问题描述】:

在开发过程中,我想测试系统终止服务的情况。这是因为我在 Android Wear 和手持设备之间进行通信时失去了连接。而且我认为这与系统杀死某些服务有关。

有人对如何解决这个问题有建议吗?

【问题讨论】:

  • 什么类型的服务?要启动服务,是绑定到它还是调用 startService()?
  • 定期服务。我从 startService 开始。 @阿里纳达夫
  • 你试过去“设置 -> 应用 -> YourApp -> 强制停止”吗?

标签: android android-service wear-os


【解决方案1】:

如果您在 Android Studio 中进行开发,同时在 android wear 端运行应用程序,请尝试点击控制台中显示的终止按钮。

当您点击此按钮时,该应用程序中的所有线程 + 服务 + 活动都将被销毁。如果您的服务属于“STICKY”类型,它会在您终止应用程序后自行启动。

【讨论】:

【解决方案2】:

cdlc 的答案有效,但另一种方法是,如果您在 Android Studio 中开发,您可以转到 DDMS:Tools->Android->Android Device Monitor 并在那里按停止按钮,您还会看到一个粘性服务重启。

【讨论】:

    【解决方案3】:

    如果您在 Android 手机上查看开发者选项,将会有一个选项显示正在运行的服务。在该选项下,您可以选择停止任何正在运行的服务。

    【讨论】:

      【解决方案4】:

      2020 开始,我们必须手动完成(因为我们不再有 Android Monitor 或 DDMS)。

      这是在 Linux 上测试的。您需要设备的 root 权限 (how to get root for an AVD)。

      1. 获取 PID(第一个数字):adb shell ps | grep -i <package-or-part-of-it>
      2. 杀死进程:adb shell kill <your-PID>

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-27
        • 1970-01-01
        • 1970-01-01
        • 2022-01-12
        • 1970-01-01
        相关资源
        最近更新 更多