Xamarin Forms Android - 拍照时崩溃但没有异常提示

3

Xamarin Forms在拍照时会崩溃,但没有任何异常提示。但是这种情况在65%的尝试中都会发生。有时应用程序不会崩溃,我可以正常拍照。在其他手机(相同型号)上,每次想要拍照时应用程序都会崩溃。

我正在使用https://github.com/jamesmontemagno/MediaPlugin,如下所示:

if (!CrossMedia.Current.IsCameraAvailable)
        {
            DisplayAlert("No Camera", ":( No camera avaialble.", "OK");
            return;
        }

        var file = await CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions
        {
            Directory = "Sample",
            Name = "testPO.jpg"
        });

        if (file == null)
            return;

        DisplayAlert("File Location", file.Path, "OK");

相机可以正常加载,但是当我按下“拍照”按钮时,应用程序会崩溃,并且在Visual Studio中进行调试时不会出现任何异常。

谢谢您的帮助。


你的手机上有哪个版本的安卓系统?这是在模拟器上吗? - Jordy Dieltjens
可能是权限问题,您是否有一个版本为5的设备(可能是模拟器)? - Jordy Dieltjens
“设备版本5”是什么意思?权限: - Kasta
我的设备版本是6.0.1(棉花糖)。我以为我自己解决了这个问题。但是当应用程序偶尔崩溃时,这个问题有意义吗?而且Visual Studio没有任何异常就停止调试了? - Kasta
1
你应该查看设备日志(视图-其他窗口-设备日志),然后选择你的设备,通常你会在这里找到错误。 - Jordy Dieltjens
显示剩余6条评论
1个回答

2

我知道这是老问题了,但如果有人在未来遇到这个问题:

我之前也遇到过这个问题,最终发现是MainActivity.cs中的NoHistory标志设置为true

删除NoHistory = true或将NoHistory = false以避免崩溃。

例如:

最初的回答:

[Activity(Label = "MyApp", Icon = "@mipmap/icon", Theme = "@style/MainTheme", ScreenOrientation = ScreenOrientation.Portrait, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation, NoHistory = false)]
public class MainActivity : FormsAppCompatActivity {
    //...
}

2
我卡了好几个小时,你刚刚救了我的一天!干杯,伙计! - Mark Reimer
@MarkReimer 很高兴我能帮到你 :) - Vyrd

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接