问题标签 [dot42]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
dot42 - 如何使用 dot42 取消订阅事件
我有一个名为“BatteryManagerHelper”的静态类,它通过 Intent.ACTION_BATTERY_CHANGED 意图监控电池状态。每次系统通知电池状态发生变化时,我的班级都会捕获变化,将新值存储在班级公共属性(充电、状态、健康..)中,然后引发事件“已更改”
公共静态事件操作已更改;
我项目中的每个 Activity 或 Class 都可以使用代码订阅此事件:
它工作正常。
但是,当 Activity 进入 OnPause() 或 OnDestory() 时,我想取消订阅 Change 事件,因此不再向我的 Activity 发出通知。
我试过了
和
和
但似乎没有人工作。我在 Activity 中也得到了事件,已经从系统中销毁。
所以,第一个问题是:如何正确取消订阅事件?第二个问题是:为什么一个被销毁的activity可以继续接收事件?
注意:订阅和取消订阅代码放在 OnResume() 和 OnPause() 上。当活动暂停然后恢复时,我收到两个事件通知;在第一次暂停恢复时,我收到三个连续的通知,依此类推。似乎 += 正在添加一个新的事件侦听器,而 -= 无法删除侦听器,从而使以前的侦听器引用保持有效。
这是静态类代码。我使用了一个静态类,因此可以在代码中的任何位置访问它。静态类(显然)有一个用于 BroadcastReceiver 回调的子类的私有实例。
这是我的片段中的代码(这个片段是系统工具栏的替代品,我的应用是全屏的),但您也可以在经典的 Activity 类中尝试 OnResume() 和 OnPause() 事件
好的,我在订阅/取消订阅事件时尝试了不同的方法:
现在它工作正常。我为每个 OnResume 活动事件使用一个新的委托对象,并使用该委托订阅 BatteryManager 事件。委托引用也存储在私有类成员上。当我想取消订阅时,我使用在 OnResumed() 中创建的相同原始委托引用,并且我确信将从事件侦听器队列中删除相同的一个特定委托。
所以看起来原始代码
回调函数 BatteryManagerHelper_Changed() 的引用在 += 的时刻和 -= 的时刻是不同的。但是 Activity 类实例是相同的,这很奇怪.. 这个 C#/.NET 环境中的示例运行良好。
关于这种行为的任何想法?这是设计正确的吗?
谢谢
dot42 - WaitOne() 超时参数丢失?
为什么System.Threading.WaitHandle.WaitOne()
标准 .NET 实现中可用的超时参数没有过载:http: //msdn.microsoft.com/en-us/library/cc189907 (v=vs.110).aspx
它在工作线程中非常有用,在线程睡眠期间,线程被请求从主 UI 线程停止。其他实现它的方法?
例子:
感谢弗兰克的(第 1000 次!!)回复。
所以我的自定义实现WaitHandle.WaitOne(int Timeout)
是:
这是做____的正确的方式吗?
谢谢
dot42 - 将.jar添加到dot42项目时如何处理“已添加具有相同密钥的项目”
我正在尝试将 .jar 库添加到 dot42 项目中。特别是 Ksoap2-android。当我将它添加到新创建的项目时,我收到错误“已添加具有相同密钥的项目”。是什么原因造成的,我该如何处理?
dot42 - 如何使用 dot42 进行 SOAP 调用?
我有以下代码。我知道网络请求等应该在异步调用中,但我只是想要概念证明。
}
我在 WebResponse resp = req.GetResponse(); 处得到一个 java.lang.Runtime 异常;我不知道问题是什么或如何解决它。
android - dot42 缺少 Android.Hardware.Usb?
查看 dot42 - 我正在尝试访问 USB 端口。看着 Andoird.Hardware 和 Usb 不存在。有任何想法吗?我错过了一个集会吗?
android - dot42 jar 导入缺少方法
我将一个 jar 项目导入到我的 dot42 项目中。它似乎做了一个包装器,但它缺少一些方法。知道我做错了什么吗?罐子是这个:
它为 UsbSerialProber 创建包装器,但定义缺少“aquire”方法:
dot42 - 使用带有 Dot42 的 Xamarin.Android 布局预览
我可以在 dot42 项目中使用 Xamarin 布局预览器吗?我即将将我的环境从 Xamarin 切换到 Dot42,我认为唯一可能缺少的是对布局预览的支持。有没有人做过测试?
我知道 Xamarin.Android 需要在 Visual Studio 中使用商业版,所以我担心 dot42 无法查看 xml 布局。
有什么可能吗?
dot42 - 在 dot42 中使用本机 C 库
是否可以使用带有 dot42 的本机 C/C++ 库?如果是这样,是否有示例说明如何执行此操作?如果不是,这是计划中的功能吗?
android - Anyone have working code showing how to get a simple widget to display using dot42 for android?
I am new to dot42 (liking it so far) but cannot get a simple widget to work. Rather than get into specific issues I am hitting, does anyone know of sample code showing a working widget using dot42? Just looking for a hello world widget using dot42. Thanks