通过本地节点打开 channel 时:
Wearable.NodeApi.getLocalNode(googleApiClient)
... onChannelOpened 监听器成功 触发。
但是,当通过远程节点打开 channel 时:
Wearable.NodeApi.getConnectedNodes(googleApiClient)
... onChannelOpened 监听器从不 触发,随后永远无法通过此 channel 共享文件。
我知道这两个设备都需要 openChannel,但 channel 监听器仅在本地打开它的设备上触发...如果远程设备不知道它已连接,它如何发送或接收文件?这是两个设备之间的故障
可穿戴:
持有的句柄:
最佳答案
故障排除
以下是一些需要检查的事项:
您是否收到消息事件或数据项更新?如果您调用 Wearable.MessageApi.sendMessage , 你有没有得到 onMessageReceived在另一台设备上?如果不是,可能有问题 WearableListenerService 在另一个节点上设置,或者与您的应用程序打包方式(例如,您的微应用程序和应用程序位于不同的包中,或者使用不同的 key 签名)。
您运行的是最新版本的 Android Wear app ?最近添加了 Channel API,可能您的 watch 还没有收到支持它的更新。版本 1.1.1.1889093 应该没问题。
如何使用 channel API
顺便说一句,听起来您可以简化 channel 的使用。无需同时打开到本地和远程节点的 channel 。您通常使用 API 的方式是:
决定是要从 watch 还是手机启动 channel 。在这种情况下,听起来您是从 watch 启动它。
在 watch 应用中,调用 Wearable.ChannelApi.openChannel ,指着电话应用程序。此方法返回 PendingResult<OpenChannelResult> .成功完成后,您将获得 Channel 。目的。这是 channel 的 watch 端,您可以使用它来发送文件。
在电话应用程序中,包含一个 WearableListenerService ,它应该得到一个 onChannelOpened事件。该方法将传递一个 Channel。 object,也就是手机端的 channel 。您可以调用receiveFile在那个物体上。
如您所见,您应该只调用一次 openChannel : 到远程节点。
关于Android Wear + Wearable ChannelApi openChannel 没有打开远程节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30018709/
我好像记得Lua有类似Ruby的method_missing的东西。还是我记错了? 最佳答案 表的metatable的__index和__newindex可以用于与Ruby的method_missing相同的效果。 关于ruby-难道Lua没有和Ruby的method_missing相媲美的东西吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/7732154/
使用带有Rails插件的vim,您可以创建一个迁移文件,然后一次性打开该文件吗?textmate也可以这样吗? 最佳答案 你可以使用rails.vim然后做类似的事情::Rgeneratemigratonadd_foo_to_bar插件将打开迁移生成的文件,这正是您想要的。我不能代表textmate。 关于ruby-使用VimRails,您可以创建一个新的迁移文件并一次性打开它吗?,我们在StackOverflow上找到一个类似的问题: https://sta
我有一个奇怪的问题:我在rvm上安装了rubyonrails。一切正常,我可以创建项目。但是在我输入“railsnew”时重新启动后,我有“程序'rails'当前未安装。”。SystemUbuntu12.04ruby-v"1.9.3p194"gemlistactionmailer(3.2.5)actionpack(3.2.5)activemodel(3.2.5)activerecord(3.2.5)activeresource(3.2.5)activesupport(3.2.5)arel(3.0.2)builder(3.0.0)bundler(1.1.4)coffee-rails(
我的瘦服务器配置了nginx,我的ROR应用程序正在它们上运行。在我发布代码更新时运行thinrestart会给我的应用程序带来一些停机时间。我试图弄清楚如何优雅地重启正在运行的Thin实例,但找不到好的解决方案。有没有人能做到这一点? 最佳答案 #Restartjustthethinserverdescribedbythatconfigsudothin-C/etc/thin/mysite.ymlrestartNginx将继续运行并代理请求。如果您将Nginx设置为使用多个上游服务器,例如server{listen80;server
我想在一个没有Sass引擎的类中使用Sass颜色函数。我已经在项目中使用了sassgem,所以我认为搭载会像以下一样简单:classRectangleincludeSass::Script::FunctionsdefcolorSass::Script::Color.new([0x82,0x39,0x06])enddefrender#hamlengineexecutedwithcontextofself#sothatwithintemlateicouldcall#%stop{offset:'0%',stop:{color:lighten(color)}}endend更新:参见上面的#re
大家好!我想知道Ruby中未使用语法ClassName.method_name调用的方法是如何工作的。我头脑中的一些是puts、print、gets、chomp。可以在不使用点运算符的情况下调用这些方法。为什么是这样?他们来自哪里?我怎样才能看到这些方法的完整列表? 最佳答案 Kernel中的所有方法都可用于Object类的所有对象或从Object派生的任何类。您可以使用Kernel.instance_methods列出它们。 关于没有类的Ruby方法?,我们在StackOverflow
我真的为这个而疯狂。我一直在搜索答案并尝试我找到的所有内容,包括相关问题和stackoverflow上的答案,但仍然无法正常工作。我正在使用嵌套资源,但无法使表单正常工作。我总是遇到错误,例如没有路线匹配[PUT]"/galleries/1/photos"表格在这里:/galleries/1/photos/1/edit路线.rbresources:galleriesdoresources:photosendresources:galleriesresources:photos照片Controller.rbdefnew@gallery=Gallery.find(params[:galle
我在Rails应用程序中使用CarrierWave/Fog将视频上传到AmazonS3。有没有办法判断上传的进度,让我可以显示上传进度如何? 最佳答案 CarrierWave和Fog本身没有这种功能;你需要一个前端uploader来显示进度。当我不得不解决这个问题时,我使用了jQueryfileupload因为我的堆栈中已经有jQuery。甚至还有apostonCarrierWaveintegration因此您只需按照那里的说明操作即可获得适用于您的应用的进度条。 关于ruby-on-r
如何在Ruby中获取BasicObject实例的类名?例如,假设我有这个:classMyObjectSystem我怎样才能使这段代码成功?编辑:我发现Object的实例方法class被定义为returnrb_class_real(CLASS_OF(obj));。有什么方法可以从Ruby中使用它? 最佳答案 我花了一些时间研究irb并想出了这个:classBasicObjectdefclassklass=class这将为任何从BasicObject继承的对象提供一个#class您可以调用的方法。编辑评论中要求的进一步解释:假设你有对象
如何将send与+=一起使用?a=20;a.send"+=",10undefinedmethod`+='for20:Fixnuma=20;a+=10=>30 最佳答案 恐怕你不能。+=不是方法,而是语法糖。参见http://www.ruby-doc.org/docs/ProgrammingRuby/html/tut_expressions.html它说Incommonwithmanyotherlanguages,Rubyhasasyntacticshortcut:a=a+2maybewrittenasa+=2.你能做的最好的事情是: