Лучший отвечающий
Что такое привилегированный доступ Windows Phone

Вопрос
-
Примечание Эта функция доступна только приложениям мобильных операторов и приложениям Магазина Windows, которым предоставлен привилегированный доступ операторами мобильных сетей, адаптером широкополосной сети мобильной связи IHV или изготовителем оборудования (OEM). Дополнительные сведения см. в разделе о широкополосных мобильных устройствах и приложениях Магазина Windows.
Кто может подсказать, как получить этот доступ на платформе Windows Phone?
Интересует приложение для корпоративного пользования.
2 января 2016 г. 7:27
Ответы
-
На стадии создания телефона производителем (OEM) по заданию оператора мобильной сети (или без такого задания) в телефон закладывается особый сертификат. Приложения от ОЕМ/оператора подписывается с использованием данного сертификата. Телефон проверят подпись и разрешает доступ к специальным API.
Таким образом если вы производитель телефона или оператор то все что вам нужно - правильно подписать приложение.
Если вы не оператор и не производитель то вам потребуется работать с оператором или производителем. Я никогда о таком не слышал, но но наверное это возможно.
Кстати, вы в форуме по Windows Phone. А API выше предназначен для Windows 8.
This posting is provided "AS IS" with no warranties, and confers no rights.
- Предложено в качестве ответа LXGDARK 2 января 2016 г. 23:24
- Помечено в качестве ответа Maksim MarinovMicrosoft contingent staff 4 января 2016 г. 11:10
2 января 2016 г. 20:41 -
Статься все равно по Windows 8, даже если вы имели в виду что то другое. Стало быть этот функционал доступен только в системах на Windows 8 и старше. Привилегии или нет - в Windows Phone этот API все равно не появится.
С другой стороны Windows 10 Mobile, которая как известно имеет одно ядро с Windows 10, вполне может его иметь:
http://wmpoweruser.com/windows-10-mobile-will-let-apps-send-and-receive-sms-messagesis-this-a-good-or-bad/
This posting is provided "AS IS" with no warranties, and confers no rights.
- Помечено в качестве ответа Maksim MarinovMicrosoft contingent staff 4 января 2016 г. 11:10
3 января 2016 г. 7:01 -
В общем, проблему поборол. Нужно было добавить в Package.appxmanifest пространство имён и дополнительное разрешение на работу с SMS, выглядит это так:
xmlns:r="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
<r:Capability Name="cellularMessaging" />
Осталась только проблема с выбором с какой SIM-карты отправлять SMS, т.к. по-умолчанию сообщение уходит со второй карты:
// string deviceId = @""; // <-- что здесь писать??? //SmsDevice2 phone = SmsDevice2.FromId(deviceId); SmsDevice2 phone = SmsDevice2.GetDefault();
Кто подскажет по поводу deviceId?
- Помечено в качестве ответа Sergey Korobeynikov (XyloCode) 7 января 2016 г. 16:14
6 января 2016 г. 14:54
Все ответы
-
На стадии создания телефона производителем (OEM) по заданию оператора мобильной сети (или без такого задания) в телефон закладывается особый сертификат. Приложения от ОЕМ/оператора подписывается с использованием данного сертификата. Телефон проверят подпись и разрешает доступ к специальным API.
Таким образом если вы производитель телефона или оператор то все что вам нужно - правильно подписать приложение.
Если вы не оператор и не производитель то вам потребуется работать с оператором или производителем. Я никогда о таком не слышал, но но наверное это возможно.
Кстати, вы в форуме по Windows Phone. А API выше предназначен для Windows 8.
This posting is provided "AS IS" with no warranties, and confers no rights.
- Предложено в качестве ответа LXGDARK 2 января 2016 г. 23:24
- Помечено в качестве ответа Maksim MarinovMicrosoft contingent staff 4 января 2016 г. 11:10
2 января 2016 г. 20:41 -
Кстати, вы в форуме по Windows Phone. А API выше предназначен для Windows 8.
Вопрос как раз был относительно Windows Phone / Windows Mobile 10, т.к. необходим функционал на базе мобильного телефона, а не планшетов и т.п.
Я так понял, что эта ветка namespace становится доступной под WP, благодаря этому "привилегированному доступу".
3 января 2016 г. 6:12 -
Статься все равно по Windows 8, даже если вы имели в виду что то другое. Стало быть этот функционал доступен только в системах на Windows 8 и старше. Привилегии или нет - в Windows Phone этот API все равно не появится.
С другой стороны Windows 10 Mobile, которая как известно имеет одно ядро с Windows 10, вполне может его иметь:
http://wmpoweruser.com/windows-10-mobile-will-let-apps-send-and-receive-sms-messagesis-this-a-good-or-bad/
This posting is provided "AS IS" with no warranties, and confers no rights.
- Помечено в качестве ответа Maksim MarinovMicrosoft contingent staff 4 января 2016 г. 11:10
3 января 2016 г. 7:01 -
А не знаете где API найти на Windows 10 Mobile?
3 января 2016 г. 7:18 -
Скорее всего для Windows 10 Mobile статься вполне подходит. Попробуйте использовать и посмотрите что будет.
This posting is provided "AS IS" with no warranties, and confers no rights.
3 января 2016 г. 7:33 -
В общем, поставил 2015 Community студию, создал универсальное приложение, в XAML добавил кнопку с текстовым блоком и следующий обработчик:
using Windows.Devices.Sms; private async void Button_Click(object sender, RoutedEventArgs e) { try { SmsDevice2 phone = SmsDevice2.GetDefault(); SmsTextMessage2 sms = new SmsTextMessage2(); sms.Body = "TEST"; sms.Encoding = SmsEncoding.EightBit; sms.To = "+7903999XXXX"; SmsSendMessageResult result = await phone.SendMessageAndGetResultAsync(sms); } catch (UnauthorizedAccessException ex) { textBlock1.Text = ex.Message; popup1.IsOpen = true; } }
В Debug режиме инсталлировал на свой телефон, предварительно выставив режим разработчика.
Словил ошибку:
Access is denied. (Exception fron HRESULT: 0x80070005) E_ACCESSDENIED))
Желание использовать данный функционал для себя не хочет меня покидать, да и к тому же непонятно как разработчикам вести разработку с такими ограничениями, не будут же сами операторы держать парк программистов.
Как получить доступ к желаемому API?
6 января 2016 г. 10:38 -
В общем, проблему поборол. Нужно было добавить в Package.appxmanifest пространство имён и дополнительное разрешение на работу с SMS, выглядит это так:
xmlns:r="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
<r:Capability Name="cellularMessaging" />
Осталась только проблема с выбором с какой SIM-карты отправлять SMS, т.к. по-умолчанию сообщение уходит со второй карты:
// string deviceId = @""; // <-- что здесь писать??? //SmsDevice2 phone = SmsDevice2.FromId(deviceId); SmsDevice2 phone = SmsDevice2.GetDefault();
Кто подскажет по поводу deviceId?
- Помечено в качестве ответа Sergey Korobeynikov (XyloCode) 7 января 2016 г. 16:14
6 января 2016 г. 14:54