【问题标题】:Xamarin Forms Android - crash while taking photo without exceptionXamarin Forms Android - 拍照时崩溃,无一例外
【发布时间】:2017-07-05 08:50:05
【问题描述】:

Xamarin Forms Android 在拍照时崩溃,无一例外。但这发生在大约 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 中的调试毫无例外地停止。

感谢您的帮助。

【问题讨论】:

  • 你的手机是什么版本的安卓?这是在模拟器上吗?
  • @JordyDieltjens Android 版本 6.0.1。不,是真机 > 三星 SM-G900F Galaxy S5
  • 这可能是权限问题,您有版本 5 的设备(可能是模拟器)吗?
  • “第 5 版设备”是什么意思?权限:
  • 你应该看看你的设备日志而不是(查看 - 其他窗口 - 设备日志)而不是选择你的设备,通常你应该在这里找到错误

标签: visual-studio xamarin xamarin.android media photo


【解决方案1】:

我知道这已经过时了,但万一将来有人偶然发现这个问题: 我遇到过这个问题,最终将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 {
    //...
}

【讨论】:

  • 我已经被困了好几个小时了,你救了我的命!干杯伙伴!
  • @MarkReimer 很高兴我能帮上忙 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-15
  • 2013-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多