sar*_*ord 40 c# xamarin xamarin.forms
我正在将我现有的(快速)iOS物理治疗应用程序"On My Nerves"重写为Xamarin.Forms.它是一个计时器应用程序,以帮助神经损伤的人(像我!)做脱敏练习.你有这些"面料"(例如羽毛),每个面料都有'x'秒倒计时.当织物的计时器达到0时,会出现一个消息框,显示"时间已到".用户点击OK,下一个结构开始倒计时.冲洗并重复列表中的所有织物.这是一个显示工作流程的视频.相信视频中的用户体验.
这是我的示例应用程序代码,演示了这种行为.
该DoSomethingForNow
方法(原谅我的命名策略)是来自NotificationService的回调(参见第65行 - 没有足够的直接链接的SO重复点),这是在计时器启动时创建的,以防应用程序获得后台.
在设备上发布模式不起作用的特定呼叫位于第115行
Device.BeginInvokeOnMainThread(
async () => await ShowAlertAndWaitForUser(currentFabricCount));
Run Code Online (Sandbox Code Playgroud)
该async () => await ShowAlertAndWaitForUser(currentFabricCount))
预期在调试和发布在iOS模拟器,并在设备的调试配置的配置工作.
但是,指示时间已启动的消息框未显示在物理设备上的Release config中.我无法弄清楚为什么Device.BeginInvokeOnMainThread()
在设备上的Release配置中不起作用.到底是怎么回事?
侧边重新使用 Device.StartTimer()
之前我之所以切换 到James的FrenchPressTimer解决方案(请参阅jamesmontemagno/FrenchPressTimer)是因为我需要一种方法来取消/停止/无论用户需要暂停还是停止应用倒计时.Device.StartTimer()
Device.StartTimer()
该 代码为我所有配置上都模拟器和设备的伟大工程,幸好有人告诉我如何取消Device.StartTimer(谢谢!).如果你想看到这个有用的解决方案,请在GitHub上查看saraford/Device-StartTimer-Working-Xamarin.Device.StartTimer()
我的具体问题是,Device.BeginInvokeOnMainThread()
当物理设备上的Release config中的通知回调调用时,为什么不显示消息框.
我也尝试了不同的链接器组合.没有效果.
对于 IOS 8,请使用警报控制器。
https://developer.xamarin.com/recipes/ios/standard_controls/alertcontroller/
var okAlertController = UIAlertController.Create ("OK Alert", "This is a
sample alert with an OK button.", UIAlertControllerStyle.Alert);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1436 次 |
最近记录: |