- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在开发一个能够接听电话的自定义电话应用程序。使用此代码处理来电 https://code.google.com/p/auto-answer/source/browse/trunk/src/com/everysoft/autoanswer/AutoAnswerIntentService.java
不幸的是,我的应用失去了对来电的关注。
这是拨出电话的部分解决方案 Android- Telephone app that keeps focus on outgoing & incoming phoneCall
来电怎么办?如何将注意力集中在我的自定义应用程序中?
我猜这可能涉及下载和修改源代码,因为仅访问 SDK 几乎无法控制内置电话应用程序。
最佳答案
既然您对拨出电话的引用是可以接受的,那么您可以在来电屏幕显示后不久在其前面放置一个 Activity 。这样做的难点在于调用状态将变为“RINGING”,然后变为“OFFHOOK”,但是在广播这些时手机没有显示 InCallScreen。
与您引用的帖子一样,此解决方案实际上并未将电话功能嵌入到应用程序中(如用于网页浏览的 Web View ),而是在 InCallScreen 显示后不久将其置于前面。
对于来电,您需要延迟 Activity 的启动,就像这篇文章中那样:
Android - Customised New Incoming Call Screen
此时您可以在屏幕上放置任何内容,困难的部分是确定延迟时间以满足您的需求(足够慢以便 InCallScreen 有机会启动但又足够快以将干扰降到最低)。
除此之外,即使扩展 AOSP 也无济于事,除非您可以访问每台物理设备,在这些设备上将使用它来对它们进行 root 操作或在其上进行自定义构建。非系统应用程序(com.android.phone 包)无法访问 PhoneApp 功能。
关于专注于来电的 Android 电话应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21008264/
我有一个 Collection View 并以这样一种方式排列它,即在屏幕的一侧有一个单独的列,并且根据焦点中的集合项替换内容。 如果对某个项目的关注超过 0.5 秒,我希望能够换出内容。 这是我目前
这是一种经常出现的情况,对我来说永远不会太容易。我想我会问其他人如何处理它。 想象一下,如果 demo=60 命令行参数的处理是这样完成的: if DemoOptionSpecified() {
我是一名优秀的程序员,十分优秀!