如何解决Android自定义拨号器-未接来电的实现缺少吗?
根据以下示例,我创建了一个自定义拨号器: https://github.com/Abror96/CustomPhoneDialer。 它工作完美,我可以将其作为默认拨号器。一切正常,来电/去电。直到我在电话关闭时未接听电话。开机时,它会发出通知,并在第一个未接来电时停顿并过一会儿重新启动。看来我缺少什么。仅将旧的拨号程序恢复为默认设置有助于解决问题 我通过logcat进行了一些调查,然后我发现了一些东西:
notificationmanager: com.android.server.telecom: notify(1,Notification(channel=TelecomMissedCalls pri=0 contentView=null vibrate=null sound=null defaults=0x4 flags=0x11 color=0xff2a56c6 vis=PRIVATE publicVersion=Notification(channel=null pri=0 contentView=null vibrate=null sound=null defaults=0x0 flags=0x10 color=0xff2a56c6 vis=PRIVATE)))
NotificationService: enqueueNotificationInternal: pkg=com.android.server.telecom id=1 notification=Notification(channel=TelecomMissedCalls pri=0 contentView=null vibrate=null sound=null defaults=0x4 flags=0x11 color=0xff2a56c6 vis=PRIVATE publicVersion=Notification(channel=null pri=0 contentView=null vibrate=null sound=null defaults=0x0 flags=0x10 color=0xff2a56c6 vis=PRIVATE))
Watchdog: at com.android.server.telecom.TelecomServiceImpl$1.getCallState(TelecomServiceImpl.java:811)
TelecomManager: remoteexception attempting to get the default dialer package name.
在此之后还有一个巨大的堆栈跟踪:
TelecomManager: Error calling ITelecomService#getCallCapablePhoneAccounts(false)
TelecomManager: android.os.DeadobjectException
TelecomManager: at android.os.BinderProxy.transactNative(Native Method)
TelecomManager: at android.os.BinderProxy.transact(Binder.java:766)
TelecomManager: at com.android.internal.telecom.ITelecomService$Stub$Proxy.getCallCapablePhoneAccounts(ITelecomService.java:796)
再次之后是stacktrace。 所以我想我可能缺少一些实现。但是,我没有任何线索可以实施。如果我看一下api文档和代码示例,那么没有地方提到需要为未接来电做一些事情。有一个动作“ ACTION_SHOW_MISSED_CALLS_NOTIFICATION”会通知一包未接来电,但这只是本地广播。因此没有必要。 有人可以阐明正在发生的事情吗?
谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。