【发布时间】:2014-10-01 19:57:06
【问题描述】:
我的应用在前台或后台使用AudioRecord API 录制音频(当应用最小化时),但当用户从应用管理器强制停止应用时音频文件损坏。
我已设法停止录音机并在其他情况下更新音频标题。但是应用程序在强制停止时不会收到任何回调。
如何处理这种情况?
【问题讨论】:
标签: android android-audiorecord
我的应用在前台或后台使用AudioRecord API 录制音频(当应用最小化时),但当用户从应用管理器强制停止应用时音频文件损坏。
我已设法停止录音机并在其他情况下更新音频标题。但是应用程序在强制停止时不会收到任何回调。
如何处理这种情况?
【问题讨论】:
标签: android android-audiorecord
强制停止应用程序将终止整个进程(即 Process.killProcess(int pid))。与此相关的所有资源 应用程序将被内核删除和释放。所以不,有 你没有办法拦截这个动作
所以最好在代码的关键部分使用错误处理来检测崩溃。
【讨论】:
基本上你不能这样做。 原因是通过强制关闭应用程序系统正在杀死进程,并且内存中没有更多代码可以处理这个问题。
一种解决方法是在清单中注册应用程序崩溃意图,并通过添加 android:process="com.test.process" 声明此接收器在另一个进程中运行。您可以在此接收器中启动服务并执行您想要的操作。这种方法的问题是您无法访问原始应用程序内存,但有一些关于应用程序的数据会在 Intent extras 中强制关闭。
【讨论】: