如何使用 termux 在我的 phone 上获取默认拨号器应用程序名称
How to get default dialler app name on my phone with termux
我创建了一个 bash 脚本,它使用命令读取通知 termux-notification-list
我使用 while 循环连续读取。
因此,当我接到电话时,此脚本将读取默认拨号器应用程序的通知,并使用我的 npm 包 truecallerjs 搜索 phone 号码,并发送一个通知,其中包含持有该号码的人的姓名。
看下面的截图
所以,我正在使用 mi phone,其中 com.android.incallui
作为默认拨号器应用程序。请参阅下面 link,当有来自 com.android.incallui
的通知时,我的脚本会发送 phone 号码详细信息。
https://github.com/sumithemmadi/truecaller-on-termux/blob/main/run#L52
该脚本仅在用户使用 mi phone 用于其他 phone 时才有效,会有不同的拨号程序。
那么我怎样才能获得默认的拨号程序。
看我用过
...
if [[ $packageName == "com.android.incallui" ]]
then
...
应该是
...
if [[ $packageName == "[Default dialer app name]" ]]
then
...
无论默认拨号器用户使用什么,[默认拨号器应用程序名称] 应该是将接听电话的应用程序的名称。
如果用户使用 google 拨号器,它应该是
...
if [[ $packageName == "com.google.android.dialer" ]]
then
...
对于 android >= 10
,使用 adb shell pm grant com.termux android.permission.DUMP
授予 termux DUMP 权限,然后 运行 /system/bin/dumpsys role | grep -A 1 android.app.role.DIALER | grep holders= | sed -E 's/[ \t]+holders=(.*)//'
如果有多个应用分配了该角色,您可能会得到一个数组。
对于 android < 10
你可以 运行 cmd package resolve-activity tel://123456
使用 adb 或 root。
https://android.stackexchange.com/questions/227155/retrieve-list-of-default-apps-via-adb
您可以通过 /system/bin/getprop ro.build.version.sdk
获得 android 版本。
https://github.com/termux/termux-packages/discussions/9987#discussioncomment-2556377
我创建了一个 bash 脚本,它使用命令读取通知 termux-notification-list
我使用 while 循环连续读取。
因此,当我接到电话时,此脚本将读取默认拨号器应用程序的通知,并使用我的 npm 包 truecallerjs 搜索 phone 号码,并发送一个通知,其中包含持有该号码的人的姓名。
看下面的截图
所以,我正在使用 mi phone,其中 com.android.incallui
作为默认拨号器应用程序。请参阅下面 link,当有来自 com.android.incallui
的通知时,我的脚本会发送 phone 号码详细信息。
https://github.com/sumithemmadi/truecaller-on-termux/blob/main/run#L52
该脚本仅在用户使用 mi phone 用于其他 phone 时才有效,会有不同的拨号程序。
那么我怎样才能获得默认的拨号程序。
看我用过
...
if [[ $packageName == "com.android.incallui" ]]
then
...
应该是
...
if [[ $packageName == "[Default dialer app name]" ]]
then
...
无论默认拨号器用户使用什么,[默认拨号器应用程序名称] 应该是将接听电话的应用程序的名称。 如果用户使用 google 拨号器,它应该是
...
if [[ $packageName == "com.google.android.dialer" ]]
then
...
对于 android >= 10
,使用 adb shell pm grant com.termux android.permission.DUMP
授予 termux DUMP 权限,然后 运行 /system/bin/dumpsys role | grep -A 1 android.app.role.DIALER | grep holders= | sed -E 's/[ \t]+holders=(.*)//'
如果有多个应用分配了该角色,您可能会得到一个数组。
对于 android < 10
你可以 运行 cmd package resolve-activity tel://123456
使用 adb 或 root。
https://android.stackexchange.com/questions/227155/retrieve-list-of-default-apps-via-adb
您可以通过 /system/bin/getprop ro.build.version.sdk
获得 android 版本。
https://github.com/termux/termux-packages/discussions/9987#discussioncomment-2556377