【问题标题】:How to get Callback when app is force stopped应用程序被强制停止时如何获取回调
【发布时间】:2014-10-01 19:57:06
【问题描述】:

我的应用在前台或后台使用AudioRecord API 录制音频(当应用最小化时),但当用户从应用管理器强制停止应用时音频文件损坏。

我已设法停止录音机并在其他情况下更新音频标题。但是应用程序在强制停止时不会收到任何回调。

如何处理这种情况?

【问题讨论】:

    标签: android android-audiorecord


    【解决方案1】:

    根据this answer

    强制停止应用程序将终止整个进程(即 Process.killProcess(int pid))。与此相关的所有资源 应用程序将被内核删除和释放。所以不,有 你没有办法拦截这个动作

    所以最好在代码的关键部分使用错误处理来检测崩溃。

    【讨论】:

    • 我正在使用 UncaughtExceptionHandler 在应用程序崩溃时捕获错误报告的异常,但是当应用程序强制停止时我无法做任何事情,AudioRecord 没有方法来监听任何错误。
    • 你发现问题出在哪里了吗
    • 我没有任何解决方案来处理这种情况,音频已损坏。
    【解决方案2】:

    基本上你不能这样做。 原因是通过强制关闭应用程序系统正在杀死进程,并且内存中没有更多代码可以处理这个问题。

    一种解决方法是在清单中注册应用程序崩溃意图,并通过添加 android:process="com.test.process" 声明此接收器在另一个进程中运行。您可以在此接收器中启动服务并执行您想要的操作。这种方法的问题是您无法访问原始应用程序内存,但有一些关于应用程序的数据会在 Intent extras 中强制关闭。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-19
      • 1970-01-01
      • 2023-04-06
      • 2019-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多