android - 是否有可能在Android中连续检测外部声音?

标签 android audio service alarm

在我的一个应用程序中,即使应用程序在后台,我也必须检测外部声音。我对此有疑问。

即使应用处于后台模式或关闭状态,也可以连续检测外部声音吗?如果是这样,那么会影响设备电池吗?

如果不可能,那么还有其他方法可以实现吗?

请让我知道这件事。

谢谢,

最佳答案

我目前正在从事类似的工作,并且使用了扩展service http://developer.android.com/guide/components/services.html的类。

如上文所述,如果它连续运行,您可能会得到android ANR kill wait选项。我有两种解决方法。

  • 确保您的服务未在主ui线程上运行,无论是使用Async还是自己进行线程化。除此之外,请尽其所能避免ANR。
  • 我限制了每个服务持续的时间。即,该服务监听几秒钟,运行分析,保存它,如果满足条件,则在调用stopSelf()之前创建一个新服务。这可能有点笨拙,但也可以根据您对音频的实际操作来起作用。
  • 关于android - 是否有可能在Android中连续检测外部声音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20000751/

    相关文章:

    Android:SwitchCompat、填充和颜色问题

    android - 在 SurfaceView 中被图像隐藏的 SlidingDrawer

    java - Android 库通过 RTP 流式传输本地存储的音频

    java - 启动 Activity android 时聚焦 ListView 中的第一项

    android - 获取设备电话号码

    ios - 保存录制的音频 (Swift)

    java - 如何从java应用程序制作音频输入设备

    android - 让服务知道方法何时运行

    java - 在 Linux 中将 Java 进程作为服务运行

    c# - Windows 服务 - 启动时崩溃