gpt4 book ai didi

android - 在 Oreo 中运行拨出电话服务

转载 作者:搜寻专家 更新时间:2023-11-01 09:25:28 24 4
gpt4 key购买 nike

我正在开发一个应用程序,它需要在调用特定号码时运行一些代码(打开 Activity )。在 API 24 及更低版本中没问题,我在 Manifest 文件中注册了一个隐式接收器,并在扩展 BroadcastReceiver 的指定类中启动我的服务。但是,在 API 26 中,您无法在接收器中注册 android.provider.Telephony.OUTGOING_CALL,因为它不起作用。

来自 Android 文档:

Note: If your app targets API level 26 or higher, you cannot use the manifest to declare a receiver for implicit broadcasts (broadcasts that do not target your app specifically), except for a few implicit broadcasts that are exempted from that restriction. In most cases, you can use scheduled jobs instead.

我读过几篇这样的文章 https://medium.com/@benexus/background-services-in-android-o-862121d96c95在介质上。有 JobSchedulerExplicit Receiver 等解决方案,但是第一个用于网络状态的更改,我找不到在 OUTGOING_CALL 事件上触发作业的方法,并且第二个在您的 Activity 启动并运行之前有效。

由于我的应用程序的性质,无论应用程序是否正在运行,我都需要监听传出调用。如何在 API 26+ 中做到这一点?

最佳答案

注意这里https://developer.android.com/guide/components/broadcast-exceptions ACTION_NEW_OUTGOING_CALL 不受您提到的奥利奥限制。

如果您有尝试过但无法正常工作的代码,那么您应该发布它。

关于android - 在 Oreo 中运行拨出电话服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51043954/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com