注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

等待机遇

这个世界上没有人知道自己到底想要什么,就等着别人来告诉他们。

 
 
 

日志

 
 
关于我

>>>>>>>>>>Apple Watch开发交流群: 313347946 >>>>>>>>>>Android Wear开发交流群:318275279 >>>>>>>>>>>>>智能手表开发者服务平台: http://www.openwatch.cn

网易考拉推荐

智能手表开发之OpenWatch SDK使用(3)数据监听  

2015-11-04 22:42:38|  分类: Android Wear |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
智能手表开发者服务平台:http://www.openwatch.cn

数据接收与监听有两种方式,可任选其一或者两者结合使用,无论是手机端还是在手表端,代码写法及逻辑相同(详见SDK Demo):

**1、设置Listener,一般用于activity中,可根据应用具体业务和功能需求,添加不同层面的监听,并在监听的回调函数中接收到配对设备发送的数据:**

        // 添加设备连接的监听
        OpenWatchRegister.addConnectListener(this);
        // 添加接收数据的监听
        OpenWatchRegister.addDataListener(this);
        OpenWatchRegister.addMessageListener(this);
        // 添加接收图片、map等特殊类型数据的监听
        OpenWatchRegister.addSpecialTypeListener(this);

取消监听

        OpenWatchRegister.removeDataListener(this);
        OpenWatchRegister.removeConnectListener(this);
        OpenWatchRegister.removeMessageListener(this);
        OpenWatchRegister.removeSpecialTypeListener(this);

**2、设置监听服务:**

在配置文件注册OpenWatch监听服务
根据应用想要兼容的智能手表系统,可选择性配置不同的action,action name不可修改

    <!-- 继承自OpenWatchListenerService的子类service 下面service name需要修改成自己的类名 -->
        <!-- 根据自身业务需求和兼容性需求 可选择性添加不同的intent-filter 其中action name不可修改-->

        <service android:name="cn.openwatch.mobile.demo.ListenerService" >
            <intent-filter>

                <!-- 兼容Android Wear谷歌版和中国版 -->
                <action android:name="com.google.android.gms.wearable.BIND_LISTENER" />
                <!-- 兼容duwear-->
                <action android:name="org.owa.wear.ows.BIND_LISTENER" />
                <!-- 兼容ticwear -->
                <action android:name="com.mobvoi.android.wearable.BIND_LISTENER" />
            </intent-filter>
        </service>


继承OpenWatchListenerService,SDK会管理OpenWatchListenerService的生命周期,当有数据接收到时会启动service,当不需要再工作时销毁service,无需手动管理。

    public class ListenerService extends OpenWatchListenerService {

    @Override
    public void onMessageReceived(String path, byte[] rawData) {
        // TODO Auto-generated method stub
        Toast.makeText(this, getClass().getSimpleName() + ":配对设备发来临时性数据", Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onDataReceived(String path, byte[] rawData) {
        // TODO Auto-generated method stub
        Toast.makeText(this, getClass().getSimpleName() + ":配对设备发来数据", Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onDataDeleted(String path, byte[] rawData) {
        // TODO Auto-generated method stub
        Toast.makeText(this, getClass().getSimpleName() + ":配对设备删除了一条数据", Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onDataMapReceived(String path, DataMap dataMap) {
        // TODO Auto-generated method stub
        Toast.makeText(this, getClass().getSimpleName() + ":配对设备发来键值对", Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onBitmapReceived(String path, Bitmap bitmap) {
        // TODO Auto-generated method stub
        Toast.makeText(this, getClass().getSimpleName() + ":配对设备发来图片", Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onFileReceived(String path, byte[] fileBytes) {
        // TODO Auto-generated method stub
        Toast.makeText(this, getClass().getSimpleName() + ":配对设备发来文件" + new String(fileBytes), Toast.LENGTH_SHORT)
                .show();
    }

    @Override
    public void onStreamReceived(String path, byte[] bytes) {
        // TODO Auto-generated method stub
        Toast.makeText(this, getClass().getSimpleName() + ":配对设备发来数据流" + new String(bytes), Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onPeerConnected(String displayName, String nodeId) {
        // TODO Auto-generated method stub
        Toast.makeText(this, getClass().getSimpleName() + ":和配对设备连接上了  设备名:" + displayName + " 设备id:" + nodeId,
                Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onPeerDisconnected(String displayName, String nodeId) {
        // TODO Auto-generated method stub
        Toast.makeText(this, getClass().getSimpleName() + ":和配对设备断开了连接  设备名:" + displayName + " 设备id:" + nodeId,
                Toast.LENGTH_SHORT).show();
    }
    }
  评论这张
 
阅读(239)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017