由于Crashlytics不能在开箱即用的可穿戴应用程序上运行,我正在寻找一种拦截和报告运行时抛出的任何潜在异常的最佳方法.我想知道为什么他们没有被自动报告给Google Play开发者控制台?
谷歌已经宣布未来的Android Wear更新将内置Wi-Fi支持,但即便如此,并非所有设备都将配备足够的硬件.
在这种情况下,我最初的想法是创建Application的子类并实现Thread.UncaughtExceptionHandler.然后,必须使用MessageApi
对每个异常进行编组并发送到手机.手机上的WearableListenerService的扩展将接收消息,解组异常并将其传递给例如Crashlytics.
但是,这提出了一些问题.可穿戴设备和手机之间的蓝牙连接存在中断风险,因此所有错误都应排队并存储在可穿戴设备的文件系统中.
对于简单的崩溃报告来说,这似乎有些过分.有更简单的方法吗?
解决方法
不要将MessageApi用于此目的,而是使用DataApi.然后你不必担心失去蓝牙连接.
它的工作方式:
>发生崩溃时,在可穿戴设备上设置崩溃的DataItem;
>最终它将被送到移动设备.
>从Mobile发送有关崩溃的信息并删除DataItem.
更多信息:http://developer.android.com/training/wearables/data-layer/index.html