0
我正在開發一個與Cast接收器應用程序進行通信的Android應用程序。演員自定義頻道回調從未調用
連接到應用程序的作品(我可以看到應用程序出現在電視上),但我很難讓自定義通道工作。
在我的活動的onCreate我得到CastContext並添加我的SessionManagerLister。
mCastContext = CastContext.getSharedInstance(this);
mCastContext.getSessionManager().addSessionManagerListener(getSessionManagerListener(), CastSession.class);
getSessionManagerListener()
返回這裏註冊我MessageReceivedCallback
監聽器:
private SessionManagerListener<CastSession> getSessionManagerListener()
{
return new SessionManagerListener<CastSession>()
{
@Override
public void onSessionStarted(CastSession castSession, String s)
{
try
{
castSession.setMessageReceivedCallbacks("urn:x-cast:be.myappname.player.cast.v1", new Cast.MessageReceivedCallback()
{
@Override
public void onMessageReceived(CastDevice castDevice, String s, String s1)
{
System.out.println("never reaches this callback");
}
});
}
catch (IOException e)
{
e.printStackTrace();
}
}
... other methods omitted ...
}
}
當我點擊工具欄鑄按鈕,我可以選擇一個設備,這會觸發onSessionStarted
在SessionManagerListener(這也將啓動接收器在電視上的應用程序)。然後我添加MessageReceivedCallback
,但它的回調永遠不會被調用。
在Chrome瀏覽器中檢查我的Cast設備確實顯示了我期望收到的數據,但它似乎無法達到我的Android代碼。
cast_receiver.js:67 [667.202s] [cast.receiver.IpcChannel] IPC message
[667.202s] [cast.receiver.IpcChannel] IPC message sent: {"namespace":"urn:x-cast:be.myappname.player.cast.v1","senderId":"7c442884-74e6-a388-243c-58b4ab3a4527.3471:com.google.sample.cast.refplayer.tutorial-512","data":"{\"type\":\"login request\"}"}
一位同事正在研究iOS應用程序,並且確實收到回調。