gpt4 book ai didi

windows-phone-7 - WP7 ApplicationIdleDetectionMode 和 EmailComposeTask/CameraCaptureTask/PhotoChooserTask

转载 作者:行者123 更新时间:2023-12-03 16:14:59 25 4
gpt4 key购买 nike

我试图在这个 WP7 应用程序中找到解决方案崩溃:

  • 创建新的 WP7 应用程序。
  • 允许应用在锁定屏幕中运行:
     // in App()
    PhoneApplicationService.Current.ApplicationIdleDetectionMode = IdleDetectionMode.Disabled;
  • 在 MainPage 中放置按钮
  • 添加运行 CameraCaptureTask 的按钮代码:
    var cameraCapture = new CameraCaptureTask();
    cameraCapture.Completed += cameraCapture_Completed;
    cameraCaptureTask.Show();
  • 带硬件按钮的锁屏。
  • 解锁屏幕 - 崩溃 :-(

  • 异常(exception):
        System.Runtime.InteropServices.COMException - "0x8000ffff"

    堆栈跟踪:
        at Microsoft.Phone.Execution.NativeEmInterop.NotifyFullObscurityChanged(Boolean isObscured)
    at Microsoft.Phone.Shell.PhoneApplicationService.OnFullObscurityChanged(Object sender, LockStateChangeEventArgs e)
    at Microsoft.Phone.Shell.Interop.ShellPageManager.ShellPageCallback_OnLockStateChange(Object source, LockStateChangeEventArgs e)
    at Microsoft.Phone.Shell.Interop.ShellPageCallback.FireOnLockStateChange(Boolean fLocked)

    它在真实硬件(Samsung Omnia W)中崩溃 - 没有模拟器。
    我确实使用 EmailComposeTask/CameraCaptureTask/PhotoChooserTask 对此进行了测试 - 总是崩溃。

    编辑:

    破解应用程序的步骤:
  • 项目模板:Windows Phone 应用程序
  • 目标 Windows Phone 操作系统版本:Windows Phone OS 7.1

  • App.xaml.cs - 只添加了一行,然后在 App 构造函数的末尾:
        [...]
    public App()
    {
    UnhandledException += Application_UnhandledException;
    InitializeComponent();
    InitializePhoneApplication();

    if (System.Diagnostics.Debugger.IsAttached)
    {
    Application.Current.Host.Settings.EnableFrameRateCounter = true;
    PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Disabled;
    }

    PhoneApplicationService.Current.ApplicationIdleDetectionMode = IdleDetectionMode.Disabled;
    }
    [...]

    MainPage.xaml,添加按钮:
        <Button Content="Button" HorizontalAlignment="Left" Margin="361,262,0,0" VerticalAlignment="Top" Click="Button_Click_1"/>

    MainPage.xaml.cs - 添加的方法:
        private void Button_Click_1(object sender, RoutedEventArgs e)
    {
    PhotoChooserTask objPhotoChooser = new PhotoChooserTask();
    objPhotoChooser.Completed += objPhotoChooser_Completed;
    objPhotoChooser.Show();
    }

    private void objPhotoChooser_Completed(object sender, PhotoResult e)
    {
    }

    连接手机,编译并部署程序到手机,断开手机(PhotoChooserTask不适用于Zune)。在您的设备中运行程序,单击“按钮”,使用硬件按钮锁定屏幕,然后将其解锁 - 崩溃并关闭程序。
    您可以使用 WPConnect 而不是 Zune 来调试它。

    最佳答案

    我已经在 WP8 设备(Lumia 820 开发者版)上对此进行了测试并且工作正常。我能看到的唯一问题是,当您解锁设备时,您不会回到启动器屏幕,而是回到应用程序屏幕。我认为,该问题与 WP7 和 WP8 上启动器的低级实现中的不同方法有关。

    关于windows-phone-7 - WP7 ApplicationIdleDetectionMode 和 EmailComposeTask/CameraCaptureTask/PhotoChooserTask,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14308393/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com