我需要拍更多的照片,但应用程序在Android 11设备上重新启动。Android 10或更低版本是可以的。它的行为神秘莫测。有时它发生在第三次捕捉后,有时可能在第七次捕捉后。
问题模拟(第二次捕获后重启):
1.单击按钮拍照
1.拍照
1.单击确定
1.应用程序返回到带有按钮的屏幕
1.步骤1 - 3
1.应用程序重启并显示主屏幕
如果我在var photo = await MediaPicker.CapturePhotoAsync();
上放置断点并转到下一步,则什么都不做,应用程序崩溃。
App-Essentials Sample App中也会发生这种情况。
- 编辑:**我的代码:
var file = await MediaPicker.CapturePhotoAsync();
while (LS.IsIntermediateActivity())
{ await Task.Delay(10); }
正常行为:捕获照片,单击确定,下一步-while(LS.IsIntermediateActivity()),然后在MainActivity OnRestart和OnResume中。(LS是依赖关系服务)
不正确的行为:捕获照片,单击确定,无下一步-应用程序崩溃或重新启动并显示主页。无异常,无警告。
4条答案
按热度按时间yyhrrdl81#
我记得我的一个同事遇到了一个非常类似的问题,媒体选择器上的这条注解实际上解决了他们的问题
所有方法都必须在UI线程上调用,因为权限检查和请求由Xamarin. Essentials自动处理。
这很奇怪,因为他们自己的例子并没有这样做:/
无论如何,试试这个,看看它是否能解决你的问题:
古德勒克
如果您有疑问,请随时返回。
1u4esq0p2#
我研究了这个问题。基本上,当从你的应用程序中打开带有媒体选择器的相机时,你的应用程序会被Android置于后台,因为相机应用程序现在正在使用。一些RAM优化发生,操作系统可能会重新启动你的应用程序。在测试中,我们在3GB RAM的设备上没有问题,但在2GB RAM的设备上遇到了这个问题。很可能是因为RAM不够。
一个解决方案是在离开应用程序时保存应用程序状态,并在拍照后重新使用,以防应用程序重新启动。我们还没有找到一个简单的解决方案,非常欢迎提出想法。
l7wslrjt3#
我尝试了另一种解决方案:
它也崩溃了...是愚蠢的Android 11还是我?
z18hc3ub4#
更新到Android 12和问题解决...