2016-08-16 2 views
0

Попытка сделать открытие и запуск DIAL на телевизоре Sony Bravia (Android). ПРИМЕЧАНИЕ. Не пытайтесь делать Google Cast ... но пытаетесь использовать DIAL для обнаружения и запуска установленного приложения. Поиск ПОИСК UDP дает мне это.Имя приложения для использования для DIAL на телевизоре Sony с Android O/S

HTTP/1.1 200 OK 
CACHE-CONTROL: max-age=1800 
DATE: Mon, 15 Aug 2016 19:09:52 GMT 
EXT: 
LOCATION: http: // 10.180.12.183:8008 /ssdp/device-desc.xml 
OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01 
01-NLS: 4185dfde-1dd2-11b2-845e-c7225b044ee1 
SERVER: Linux/3.10.27, UPnP/1.0, Portable SDK for UPnP devices/1.6.18 
X-User-Agent: redsonic 
ST: urn:dial-multiscreen-org:service:dial:1 
USN: uuid:25664941-9d79-be82-aab6-39c4cdda7052::urn:dial-multiscreen-org:service:dial:1 
BOOTID.UPNP.ORG: 0 
CONFIGID.UPNP.ORG: 1869286273 

Получение МЕСТАМ Http: // 10.180.12.183:8008 /ssdp/device-desc.xml дает мне этот заголовок:

Application-Url: http: // 10.180.12.183:8008 /apps/ 
Content-Length: 1081 
Content-Type: application/xml 

Содержание этого ответа заключается в следующем:

<?xml version="1.0"?> 
<root xmlns="urn:schemas-upnp-org:device-1-0"> 
    <specVersion> 
    <major>1</major> 
    <minor>0</minor> 
    </specVersion> 
    <URLBase>http: // 10.180.12.183:8008 </URLBase> 
    <device> 
    <deviceType>urn:dial-multiscreen-org:device:dial:1</deviceType> 
    <friendlyName>MySonyTv</friendlyName> 
    <manufacturer>Sony</manufacturer> 
    <modelName>BRAVIA 4K 2015</modelName> 
    <UDN>uuid:25664941-9d79-be82-aab6-39c4cdda7052</UDN> 
    <iconList> 
     <icon> 
     <mimetype>image/png</mimetype> 
     <width>98</width> 
     <height>55</height> 
     <depth>32</depth> 
     <url>/setup/icon.png</url> 
     </icon> 
    </iconList> 
    <serviceList> 
     <service> 
     <serviceType>urn:dial-multiscreen-org:service:dial:1</serviceType> 
     <serviceId>urn:dial-multiscreen-org:serviceId:dial</serviceId> 
     <controlURL>/ssdp/notfound</controlURL> 
     <eventSubURL>/ssdp/notfound</eventSubURL> 
     <SCPDURL>http: // www .google.com/ cast</SCPDURL> 
     </service> 
    </serviceList> 
    </device> 
</root> 

правила протокола Per ДИАЛ для коммутируемого REST услуг, я должен получить информацию о моем приложении с помощью этого:

http: // 10.180.12.183:8008 /apps/MyAppName 

Но я получаю сообщение «404: Не найдено» и пустой текстовый ответ. Если я помещу «YouTube» или «Netflix» для суффикса вместо MyAppName, я получу значимый ответ XML.

Как только я получаю хороший отклик на стандартный запрос DIAL REST GET, я надеюсь сделать DIAL REST POST на тот же URL-адрес, чтобы запустить мое приложение - так же, как я мог работать с другими устройствами которые поддерживают DIAL.

Мои вопросы (надеюсь, для экспертов Sony peronnel или Sony dev, знакомых с DIAL на телевизоре на базе Android на базе Android. Мне не нужен общий учебник DIAL по обнаружению/запуску на стороне клиента и знаю, как писать сервер DIAL, если это то, что я решил сделать):

  1. ли actualy поддержки DIAL Sony Android-базирующейся телевизора (не только Google Cast V2 или V3)? Если да, то какое свойство в моем приложении Android на телевизоре представляет имя приложения, которое я должен использовать в суффиксе DIAL REST?

  2. Нужна ли мне дополнительная запись в AndroidManifest.xml моего приложения TV TV, или, возможно, дополнительный ресурс (аналогичный Amazon Fire TV, требующий ресурса xml/whisperplay.xml, который содержит запись xml «dial/application/dialid» ", который используется сервером Fire DIAL для обнаружения/запуска)?

  3. Что-нибудь еще вы можете рассказать мне об уникальных аспектах реализации телевизора на базе Android на базе Android на DIAL?

ПРИМЕЧАНИЕ: Помните ... не заинтересованы в Google Cast - мне нужно запустить приложение, а не просто отличное стандартное видео. Кроме того, мы с удовольствием используем запатентованный механизм обнаружения/запуска Sony, который может предложить ... но тогда мне нужно будет знать, как работает этот механизм, поэтому оцените связь, если это решение.

ответ

2

У меня есть 2015 Bravia, вот как я отформатировал URL:

http://192.168.1.100/DIAL/apps/com.sony.dtv.com.alexvas.dvr.pro.com.alexvas.dvr.activity.TvMainActivity

Я не знаю, почему требуется com.sony.dtv, но остальная часть URL состоит из app id (в этом случае com.alexvas.dvr.pro), за которым следует действие в приложении, которое вы хотите запустить (com.alexvas.dvr.activity.TvMainActivity)

POSTing на этот URL-адрес порта 80 запускает мой приложение.

+0

miknik ... в вашем проекте приложения, как вы установили идентификатор приложения в «com.alexvas.dvr.pro»? – Zebra

+0

У меня нет приложения.В моем примере выше я запускаю TinyCam Pro (приложение для просмотра IP-камер) на своем телевизоре, вызывая URL-адрес, когда кто-то звонит мне в дверь. – miknik

+0

Идентификатор приложения для любого приложения можно найти в Play Маркете, а затем посмотреть URL-адрес (либо в Интернете, либо нажав кнопку совместного доступа в приложении Google Play). Идентификатор приложения находится в конце URL-адреса Play Маркета, например Google Maps - это play.google.com/store/apps/details?id=com.google.android.apps.maps. – miknik

Смежные вопросы