Вверх ↑
Этот топик читают: Гость
Ответов: 253
Рейтинг: 0
#1: 2019-03-10 17:49:09 ЛС | профиль | цитата
Доброе время суток, подскажите можно ли как-то в пакете Android осуществить набор номера сразу. Ну чтобы не нажимать на ссылку с номером допустим, а еще после выбирать какой программой нужно совершить звонок. А так чтобы сразу пошел набор.
Задача заключается в том, чтобы отправить номер телефона с ПК по TCP и сразу после получения номера пошел набор.
И еще один вопрос. Можно ли как-то определить, что человек которому мы звоним, поднял трубку?

--- Добавлено в 2019-03-10 18:13:47

Может возможно дописать какой-нибудь скрипт. Не совсем понимаю. Но может быть это подойдет? http://www.ohandroid.com/13100.html

Редактировалось 1 раз(а), последний 2019-03-10 18:13:47
карма: 0

0
Ответов: 253
Рейтинг: 0
#2: 2019-03-10 21:35:07 ЛС | профиль | цитата
Вот еще нашел информацию. Я так понял, нужно как-то этот скрипт прикрутить к Приложению из Android пакета, и запускать его перед звонком. http://qaru.site/questions/22394/cannot-detect-when-outgoing-call-is-answered-in-android
и вот это http://developer.alexanderklimov.ru/android/telephone.php

Редактировалось 1 раз(а), последний 2019-03-10 22:30:21
карма: 0

0
Ответов: 163
Рейтинг: 33
#3: 2019-03-11 00:14:31 ЛС | профиль | цитата
По первому вопросу все просто. Ниже код, потребуется элемент "Permission", найти его можно здесь. Если при вставке кода HiAsm будет ругаться на отсутствующие свойства у элементов, не обращайте внимания.

Make(android)
ver(4.04 build 185)
Add(MainActivity,2953706,126,175)
{
Left=0
Top=0
Width=500
Height=400
BorderStyle=3
AppName="test_dial"
Package="hiasm.test_dial"
VersionCode=1
Version="1.0"
Compatibility=6
Caption="test_dial"
AppIcon=[]
SysName=""
DefaultLayout="(empty)"
IntentFilter=#
Theme=0
CustomTheme=""
BackgroundImage="(empty)"
ProcName=""
}
Add(Intent,886680,385,119)
{
Uri=""
StandardAction=3
Action=""
ClassName=""
Categories=#
Flags=#
Permission=""
ActivityToFront=0
ActivityClearTask=0
ActivityClearTop=0
ActivityClearReset=0
ActivityExclRecents=0
ActivityForwardRes=0
ActivityLaunchHist=0
ActivityMultiTask=0
ActivityNewDoc=0
ActivityNewTask=0
ActivityNoAnim=0
ActivityNoHist=0
ActivityNoUserAct=0
ActivityPrevTop=0
ActivityResetTask=0
ActivitySingleTop=0
ActivityTaskOnHome=0
GrantReadUri=0
GrantWriteUri=0
GrantPersistUri=0
GrantPrefixUri=0
DebugLogResolution=0
FromBackground=0
IncludeStoppedPkg=0
ReceiverForeground=0
ReceiverNoAbort=0
ReceiverRegOnly=0
ReceiverReplPend=0
Point(doUri)
}
Add(Button,14070446,203,112)
{
Left=25
Top=65
Width=120
Height=22
Align=0
Color=-16777201
LayoutManager="(empty)"
Weight=0
OffsetX=0
OffsetY=0
UnitsX=0
UnitsY=0
gVertical=0
gHorizontal=0
gFill=0
HeightMode=0
WidthMode=1
FixedHeight="40px"
FixedWidth="100px"
MinHeight=""
MinWidth=""
mLeft=""
mTop=""
mRight=""
mBottom=""
pLeft=""
pTop=""
pRight=""
pBottom=""
Alpha=1
Visibility=0
Clickable=1
Focusable=1
Enabled=1
ContextMenu="(empty)"
BackgroundImage="(empty)"
Background=""
ViewStyle=""
Animation="(empty)"
TypeFace=0
TextColor=536870912
TextStyle=0
TextSize=""
TextScaleX=1
Caption="CALL"
StrResName=""
Point(onClick)
link(onClick,15510993:doEvent1,[])
}
Add(Permission,4981911,385,42)
{
PermName=28
CustomPermission=""
}
Add(EditText,2980867,301,49)
{
Left=15
Top=15
Width=160
Height=28
Align=0
Color=-16777201
LayoutManager="(empty)"
Weight=0
OffsetX=0
OffsetY=0
UnitsX=0
UnitsY=0
gVertical=0
gHorizontal=0
gFill=0
HeightMode=0
WidthMode=1
FixedHeight="40px"
FixedWidth="100px"
MinHeight=""
MinWidth=""
mLeft=""
mTop=""
mRight=""
mBottom=""
pLeft=""
pTop=""
pRight=""
pBottom=""
Alpha=1
Visibility=0
Clickable=1
Focusable=1
Enabled=1
ContextMenu="(empty)"
BackgroundImage="(empty)"
Background=""
ViewStyle=""
Animation="(empty)"
TypeFace=0
TextColor=536870912
TextStyle=0
TextSize=""
TextScaleX=1
HintColor=536870912
HighlightColor=536870912
LinkColor=536870912
WebLinks=0
EmailLinks=0
PhoneLinks=0
MapLinks=0
Capitalize=0
Numeric=0
Signed=0
PhoneNumber=0
Password=0
LinesCount=0
MinLines=0
MaxLines=0
SingleLine=0
Text=""
Hint="введите номер"
StrResName=""
}
Add(Hub,15510993,259,112)
{
InCount=1
OutCount=2
link(onEvent1,4320921:doStrCat,[])
link(onEvent2,886680:doStartActivity,[])
}
Add(StrCat,4320921,294,112)
{
Str1="tel:"
Str2=""
link(onStrCat,886680:doUri,[(356,118)(356,153)])
link(Str2,2980867:Value,[])
}

По второму вопросу все гораздо сложнее. Официально возможность определения факта снятия трубки на том конце появилась приблизительно в 6-м Андроиде, но я так и не смог заставить ее работать. Однако с давних пор для этого все пользуются таким костылем: после начала вызова через AccessibilityService либо NotificationListenerService отлавливается появление строки таймера разговора в окне звонилки либо в уведомлениях соответственно. Код привести не могу, так как его будет много и он будет зависеть от конкретного проекта.
карма: 3

1
Голосовали:Konst
Ответов: 253
Рейтинг: 0
#4: 2019-03-11 09:22:30 ЛС | профиль | цитата
Да это же гениально, права. Нужно пробовать. Также я понял, что мне нужно определить конец разговора. Нужно просто проигрывать аудио оповещение клиентам и получать ответ на него , «да» или «нет». В тот момент когда клиент взял трубку запускаеться C# программа, она то и обработает ответ. А вот как я подключил телефон на базе андройд к ПК, чуть позже покажу, со смеху умрете)

--- Добавлено в 2019-03-11 10:08:01

GreM писал(а):
в 6-м Андроиде

К сожалению Андроид 5.1 (

Редактировалось 2 раз(а), последний 2019-03-11 10:11:06
карма: 0

0
Ответов: 253
Рейтинг: 0
#5: 2019-03-15 17:16:57 ЛС | профиль | цитата
GreM писал(а):
Код привести не могу, так как его будет много

Послушай, а можешь пример скинуть на почту egorhay@mail.ru
Пока нечего в голову не приходит. Не знаю как отловить начала разговора
карма: 0

0
Ответов: 253
Рейтинг: 0
#6: 2019-03-18 12:04:20 ЛС | профиль | цитата
Может быть возможно осуществить как-то так? https://toster.ru/q/64434
карма: 0

0
Ответов: 1821
Рейтинг: 168
#7: 2019-03-18 13:23:33 ЛС | профиль | цитата
egorhay, вполне возможно, помню были элементы для управления процессами. Зависит от возможности чтения вывода запущенного процесса.
карма: 5

0
Ответов: 253
Рейтинг: 0
#8: 2019-03-18 13:30:40 ЛС | профиль | цитата
Я просто вообще не имею представляю как это в hiasm осуществить. Нужно чтобы при условии, что трубку сняли нас проинформировали, например данными в виде string "1" и если он положил трубку "0"
карма: 0

0
Ответов: 253
Рейтинг: 0
#9: 2019-03-19 13:46:09 ЛС | профиль | цитата
GreM писал(а):
По первому вопросу все просто

У меня вылетает приложение после нажатия на call

Редактировалось 1 раз(а), последний 2019-03-19 13:49:28
карма: 0

0
Ответов: 253
Рейтинг: 0
#10: 2019-03-19 16:00:33 ЛС | профиль | цитата
egorhay писал(а):
А вот как я подключил телефон на базе андройд к ПК, чуть позже покажу, со смеху умрете)
А вот кстати мой костыль. http://forum.hiasm.com/post/301747

Редактировалось 1 раз(а), последний 2019-03-19 16:00:48
карма: 0

0
Ответов: 253
Рейтинг: 0
#11: 2019-03-23 12:19:19 ЛС | профиль | цитата
egorhay писал(а):
У меня вылетает приложение после нажатия на call

Вопрос актуален(
карма: 0

0
Ответов: 253
Рейтинг: 0
#12: 2019-03-29 10:53:20 ЛС | профиль | цитата
Друзья помогите пожалуйста, все равно не могу решить проблему с набором номера. Как только нажимаю call приложение выдает ошибку и вылетает. Что делаю не так?
карма: 0

0
Ответов: 253
Рейтинг: 0
#13: 2019-04-04 23:04:10 ЛС | профиль | цитата
Решил проблему ADB утилиткой(+ ADB wi-fi). через консоль, посылаю команды. Есть предположение, что и вот, это
egorhay писал(а):
И еще один вопрос. Можно ли как-то определить, что человек которому мы звоним, поднял трубку?

вполне реально через него сделать, только пока не понятно как.
Всем спасибо за уделенное время.
карма: 0

0
Ответов: 1328
Рейтинг: 69
#14: 2019-04-06 10:47:46 ЛС | профиль | цитата
egorhay, скинь ссылку на возможные команды, при наборе номера через сом порт, в порт идет "ring" (гудок) через определенный промежуток, если идет сброс - "no carrer"
карма: 2

0
Ответов: 253
Рейтинг: 0
#15: 2019-04-08 16:54:12 ЛС | профиль | цитата
Konst, я через com так и не разобрался как. я через wi-fi . Набор номера:
ASD -s IP:5555 shell am start -a android.intent.action.CALL -d tel:номер
карма: 0

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)