首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在呼叫android时隐藏拨号号码

如何在呼叫android时隐藏拨号号码
EN

Stack Overflow用户
提问于 2017-12-04 04:19:26
回答 1查看 2.1K关注 0票数 2

我想知道当用户在android设备上打电话时,如何隐藏拨号号码。不想让用户看到应用程序的拨号号码。在我的应用程序中,我使用的是调用intent,它运行得很好。但它显示的是默认拨号程序。如何隐藏此拨号程序并从历史中删除号码?

EN

回答 1

Stack Overflow用户

发布于 2017-12-05 07:49:26

您需要以下权限:

代码语言:javascript
复制
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>    
<uses-permission android:name="android.permission.READ_CALL_LOG"/>
<uses-permission android:name="android.permission.WRITE_CALL_LOG"/>

无论何时启动调用意图,都需要启动一个正在进行的服务,该服务将用于注册侦听器以侦听调用事件 (以准确检测调用何时开始和结束)。当服务检测到传出调用启动时,它应该使用LayoutParams.TYPE_SYSTEM_ALERT Window LayoutParam放置一个全屏视图,这将使视图“位于”屏幕上的其他所有内容的“顶部”,包括call-UI。见

当调用结束时,请确保从窗口中删除视图,并确保如果存在错误、崩溃或服务意外存在,则删除视图,否则可能会阻止用户使用

当调用结束时,服务应该是向CallLog数据库添加一个观察者,当您检测到更改时,检查最后一次调用是否是您的调用。如果是,删除它

P.S默认情况下,当您从Google安装一个应用程序时,需要在您的手机设置>应用程序>菜单/齿轮图标>权限>“吸引其他应用程序”>为您的应用程序启用时手动启用SYSTEM_ALERT_WINDOW。对于其他权限,您可能需要使用运行时权限 api。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47626442

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档