For other advanced stuff you have to be the default dialer app which also makes a lot of sense. If you're going to be an accessible dialer, you may as well actually communicate to the system that that is what you are. With plenty of open source dialer apps to borrow from, I don't expect the burden to even be that high.
Interestingly, the post writes that the app communicates with the phone over ADB. I wonder if you could just inject keypad button presses using adb, so the app doesn't need to even be an accessibility service to get the tones across? Although I guess that only works if the dialer is in the foreground.
But AFAIK both Android and iOS disabled all call apps except for their own.
Previously they allowed as long as the keypad looked "distinctively different from the default call app", but turned that off some time ago. I can see the security reasoning, but still think there were ways to make it possible and secure.
A similar question, for example, is how to record a call, default or not. AFAIK there's no way.
No, though I will say I'm upset with how protected calls have become on phones in recent years. I used to record every phone call with an app so I had a record of it, something which is completely legal to do where I live, but that really isn't possible anymore.
Now all my calls go through a VOIP provider and call recording is a feature they offer.
You can generate phone numbers with embedded DTMF codes - including pause and wait.
For example `<a href="tel:+447700900000,12#">` will pre-fill the dialler with that number. After dialling, it will pause for a few seconds then sent DTMF 1 2 #.
You can make it slightly interactive with the "wait" command. For example `<a href="tel:+447700900000;#9">`. The semicolon should* give the user a prompt asking them if they want to send the DTMF `#9`.
Of course, this is no use if the app is to be used interactively. But if you know that you need to send a predefined sequence, it is useful.
E.g. the calling app from AOSP, LineageOS or GrapheneOS
nancyminusone•8h ago
cmrx64•8h ago
imurray•8h ago
When I was an undergrad I had an audio file for each digit and a winamp playlist for each of my frequently dialed numbers. I'd hold my (landline) phone against the computer speakers and double-click the playlist to dial. I'm sure I spent more time setting this up than it ever saved, but it was somehow pleasing that this ridiculously over-powered speed dialer worked.
genewitch•7h ago
...
...
PROCTOR TEST SET PLEASE SELECT TEST
LINE TEST PRESS 2
COIN RETURN TEST PRESS 3
COIN READER TEST PRESS 4
TONE TEST PRESS 5
ADDITIONAL TESTS PRESS 6
|
this isn't the one i referenced, but proves my memory is functional https://youtu.be/uOO9dFiwzGk - actually it has references to what i typed
gh02t•5h ago
neckro23•3h ago
EDM115•7h ago
jeroenhd•6h ago
If you want to do dialer things without being the dialer, then no. Android doesn't permit apps to access the audio streams of a call to non-dialer apps.
In this case, the solution was to use an accessibility service to perform accessibility tasks as an accessibility app. Quite appropriate, I think. Although it will fail if the dialer of your choice doesn't have a keypad with the exact right labels (or numbers? I don't know if phones in writing systems with alternative numbers still show Arabic numerals on the dialer).
EDM115•3h ago
jcrawfordor•3h ago