Android应用后台时如何通过一个方法中途恢复

问题描述

我有一个 Xamarin Android 应用程序,它在特定方法期间启动第三方代码 (Xamarin Essentials Lib) 并最终启动相机。

我了解在应用程序的生命周期中,Activity 可能会被置于后台,并且本质上是“进入睡眠状态”。我在正常活动恢复期间有代码,可以恢复数据等。

但是,当尝试使用 Xamarin Essentials Lib 启动相机并返回照片(而不是手动执行此操作)时,不使用以下返回活动的入口点:

OnActivityResult(){}

相反,该方法只是在调用方法的正常执行期间等待获取照片的响应:

private async void TakePhoto()
    {
        // Photo requested

        var photo = await MediaPicker.CapturePhotoAsync();

       // Photo taken

    }

如果在调用 TakePhoto() 时,Android 设备没有完全后台应用程序(在生命周期意义上),则该方法成功命中“已拍摄照片”。如果应用完全后台运行(只要相机应用加载在前面它决定释放资源),一旦拍照,活动就会自行恢复,但原来的方法不再执行,所以我无法继续以获得照片响应,因此永远不会点击“照片拍摄”。

所以我的问题是,鉴于 Android Activity 生命周期的工作原理,我如何实现这个错误

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)