当应用程序强制停止时如何获得回调

时间:2013-06-21 06:43:18

标签: android android-audiorecord

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

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

如何处理这种情况?

2 个答案:

答案 0 :(得分:2)

根据this answer

  

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

更好地使用错误处理在代码的关键部分中检测崩溃。

答案 1 :(得分:1)

基本上你不能这样做。 原因是通过强制关闭应用程序系统会终止进程并且内存中没有更多代码来处理这个问题。

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