|
Мобильное приложение и android 13 | ☑ | ||
---|---|---|---|---|
0
ad205
09.03.23
✎
12:19
|
Добрый день.
При обновлении телефонов на версию android 13, перестал функционировать сервис: "СредстваПочты.Послать(Сообщение)" Кто ни будь знает как обойти данную проблему? Спасибо. |
|||
1
p-soft
09.03.23
✎
12:24
|
не радостная весть. ошибку выдает какую?
|
|||
2
ad205
09.03.23
✎
12:31
|
Нет, ошибок ни каких и выдает, что сервис поддерживается, но если ранее по данной команде запускался почтовик установленный на телефоне, а если их несколько, то вопрос какой использовать, то сейчас просто тишина, как будто бы и не нажимал на кнопку((( Разрешения в настройках уже все перерыл, но найти что то не получилось(((
|
|||
3
p-soft
09.03.23
✎
12:35
|
(2) а.. это про почтовик, само апи отправки возможно живо.. пробуйте отправлять через апи.
я б сам попробовал, но дома одни огрызки и пара ТСД на 6-м. |
|||
4
p-soft
09.03.23
✎
12:36
|
(3) вообще, это норма, так то. ждем обновление платформы
|
|||
5
ad205
09.03.23
✎
12:39
|
Платформу поставил самую свежую.
Тут задача то в следующем: в МП есть справочник с контактной информацией, при нажатии на адрес Эл.Почты, ранее открывался почтовик в котором уже указан соответствующий адрес и пользователь просто писал текст сообщения и отправлял письмо. Все работало четко, пока не обновились на 13 андройд. И вот тут что то поменяли с политикой безопасности((( |
|||
6
ad205
09.03.23
✎
12:41
|
Весь код.
#Если МобильноеПриложениеКлиент Тогда Сообщение = Новый ИнтернетПочтовоеСообщение; Сообщение.Тема = "Тема письма"; Сообщение.Получатели.Добавить("адрес получателя"); Текст = Сообщение.Тексты.Добавить("Текст письма"); Текст.ТипТекста = ТипТекстаПочтовогоСообщения.ПростойТекст; Поддерживается = СредстваПочты.ПоддерживаетсяОтправка(); Сообщить(Поддерживается); СредстваПочты.Послать(Сообщение); #КонецЕсли Поддерживается = СредстваПочты.ПоддерживаетсяОтправка() Выдает, что поддерживается. |
|||
7
p-soft
09.03.23
✎
12:41
|
(5) ну открывайте также окно, только свое и отправляйте через апи.
мы сейчас не дружим с вражеским гуглом, что он подкинет - хз. вчера попробовал на гугел плей зайти - болт, заболочен |
|||
8
p-soft
09.03.23
✎
12:43
|
//выгрузка данных на почту
Письмо = Новый ИнтернетПочтовоеСообщение; Письмо.Тема = "..."; Письмо.Отправитель = СтруктураПодключения.АдресОтправителя; Письмо.ИмяОтправителя = СтруктураПодключения.ИмяПользователя; Письмо.Кодировка = "UTF-8"; Письмо.Тексты.Добавить("..."); Письмо.Вложения.Добавить(ИмяФайла, ИмяФайлаДанных); Письмо.Получатели.Добавить(СтруктураПодключения.АдресПолучателя); Почта = Новый ИнтернетПочта; Почта.Подключиться(СтруктураПодключения.Подключение); Почта.Послать(Письмо); Почта.Отключиться(); |
|||
9
p-soft
09.03.23
✎
12:44
|
(8) только надо профиль подключения заполнять и хранить
|
|||
10
p-soft
09.03.23
✎
12:44
|
(9) но это более правильно, т.к. в мобиле может не быть активного почтового аккаунта
|
|||
11
ad205
09.03.23
✎
13:00
|
Спасибо. Но все таки буду надеяться, что подправят данное недоразумение.
Один общий профиль подключения использовать то же не вариант для моей задачи. Еще раз спасибо. |
|||
12
p-soft
09.03.23
✎
13:03
|
(11) можно профиль:
- иметь один и хранить в коде - иметь один, хранить на сервере и брать с сервера при отправке - более гибко - иметь свой для каждого клиента/мобилы - юзер сам отвечает за свое счастье |
|||
13
uno-group
09.03.23
✎
13:10
|
Откатиться на старый андроид уже предлагали? В бизнес ПО принцип работает не трош еще никто не отменял.
|
|||
14
p-soft
09.03.23
✎
13:12
|
(13) клиенту предложить откатиться? интересный однако подход)
|
|||
15
ad205
09.03.23
✎
13:13
|
(13) Вы предлагаете сотрудникам телефоны перепрошить?
Не, это не вариант))). Да и все равно задачу то нужно решить как то. Если не так же, то максимально приближенно. Просто тут не только написание писем по справочнику контактов, на это дело привязано, а еще много чего, в том числе получение адреса эл. почты сотрудника. |
|||
16
ad205
09.03.23
✎
15:03
|
УРА, есть контакт, нашел вот такой пример и вот он работает!!!!
Соответственно свой код заменил вот на этот: НовВз = Новый ЗапускПриложенияМобильногоУстройства(); НовВз.Действие = "android.intent.action.SENDTO"; НовВз.Данные = "mailto:[email protected]"; НовВз.ДополнительныеДанные.Добавить("android.intent.extra.SUBJECT","Тема письма"); НовВз.ДополнительныеДанные.Добавить("android.intent.extra.TEXT","Теекст-текст-текст"); НовВз.Запустить(Истина); |
|||
17
ad205
09.03.23
✎
15:12
|
Но есть прикол, на 12 андройде данный механизм не заполняет тему и текст письма))))
То есть нужно как то перед действом определять версию андройда. |
|||
18
p-soft
09.03.23
✎
15:17
|
(17) ну как то же 1с это делает? и делает она скорее всего тем же интентом
|
|||
19
ad205
09.03.23
✎
15:25
|
Вот сделал так, проверил на 12 и 13 андройде, работает)))
#Если МобильноеПриложениеКлиент Тогда СИ = Новый СистемнаяИнформация(); ВерсияОС = СИ.ВерсияОС; НомерВерсии = СокрЛП(СтрЗаменить(ВерсияОС,"Android","")); НомерВерсииЧисло = Число(НомерВерсии); Если НомерВерсииЧисло >= 13 Тогда НовВз = Новый ЗапускПриложенияМобильногоУстройства(); НовВз.Действие = "android.intent.action.SENDTO"; НовВз.Данные = "mailto:Адрес"; НовВз.ДополнительныеДанные.Добавить("android.intent.extra.SUBJECT","Тема письма"); НовВз.ДополнительныеДанные.Добавить("android.intent.extra.TEXT","Текст письма); НовВз.Запустить(Истина); Иначе Сообщение = Новый ИнтернетПочтовоеСообщение; Сообщение.Тема = "Тема письма"; Сообщение.Получатели.Добавить("Адрес"); Текст = Сообщение.Тексты.Добавить("Текст письма); Текст.ТипТекста = ТипТекстаПочтовогоСообщения.ПростойТекст; Поддерживается = СредстваПочты.ПоддерживаетсяОтправка(); СредстваПочты.Послать(Сообщение); КонецЕсли; #КонецЕсли Может кому пригодится) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |