java - ConnectSDK doesn't try to find Chromecast -
all. try create android cast application google chromecast. tryied find chromecast code:
public void startdiscoveringdevices() { discoverymanager.init(mcontext); mdiscoverymanager = discoverymanager.getinstance(); mdiscoverymanager.registerdeviceservice(castservice.class, castdiscoveryprovider.class); mdiscoverymanager.setpairinglevel(discoverymanager.pairinglevel.on); mdiscoverymanager.setcapabilityfilters(new capabilityfilter( mediaplayer.any, mediacontrol.any, volumecontrol.any )); mdiscoverymanager.addlistener(this); mdiscoverymanager.start(); log.wtf("castdevicemanager", "discovery manager started"); }
after listen discoverymanagerlistener:
// ********************* discoverymanagerlistener ********************************** // @override public void ondeviceadded(discoverymanager manager, connectabledevice device) { log.wtf("discoverymanagerlistener", "device added"); device.addlistener(...); // here pass implementation of connectabledevicelistener interface. device.connect(); // connect device } @override public void ondeviceupdated(discoverymanager manager, connectabledevice device) { log.wtf("discoverymanagerlistener", "device updated"); device.addlistener(...); // here pass implementation of connectabledevicelistener interface. // try connect device, if not connected yet if (device.isconnected()) { device.disconnect(); } else { device.connect(); } } @override public void ondeviceremoved(discoverymanager manager, connectabledevice device) { log.wtf("discoverymanagerlistener", "device removed"); mcastdevices.remove(device.hashcode()); // remove device list of devices } @override public void ondiscoveryfailed(discoverymanager manager, servicecommanderror error) { log.wtf("discoverymanagerlistener", "device(s) not found", error); destroydiscoverymanager(); } // ************************************************************************************ // // ************************** connectabledevicelistener **************************** // @override public void ondeviceready(connectabledevice device) { log.wtf("connectabledevicelistener", "device ready"); outdeviceinfo(device, "connectabledevicelistener"); // put map devices new connected device mcastdevices.put(device.hashcode(), new castdevice(device, mcastlifecyclelistener)); log.wtf("connectabledevicelistener", "count cast devices: " + mcastdevices.size()); } @override public void ondevicedisconnected(connectabledevice device) { log.wtf("connectabledevicelistener", "device disconnected"); destroydiscoverymanager(); } @override public void onpairingrequired(connectabledevice device, deviceservice service, pairingtype pairingtype) { log.wtf("connectabledevicelistener", "device paring required"); } @override public void oncapabilityupdated(connectabledevice device, list<string> added, list<string> removed) { log.wtf("connectabledevicelistener", "capability updated"); } @override public void onconnectionfailed(connectabledevice device, servicecommanderror error) { log.wtf("connectabledevicelistener", "connection failed"); destroydiscoverymanager(); } // ************************************************************************************ // // method use disconnect devices in map , stop discovering new devices public void destroydiscoverymanager() { mdiscoverymanager.stop(); discoverymanager.destroy(); log.wtf("castdevicemanager", "discovery manager stopped"); (map.entry<integer, castdevice> castdeviceentry: mcastdevices.entryset()) { castdeviceentry.getvalue().stopcast(); castdeviceentry.getvalue().disconnect(); log.wtf("castdevice", "device.isconnected(): " + castdeviceentry.getvalue().isconnected()); } mcastdevices.clear(); }
in activity call startdiscoveringdevices() , destroydiscoverymanager() buttons. , fine, in 1 time stop finding devices. wasn't change in code. maybe made bugs , worked, happened , doesn't work now? doing wrong?
Comments
Post a Comment