Android O收不到广播Intent.ACTION_NEW_OUTGOING_CALL
Android O can't receive broadcast Intent.ACTION_NEW_OUTGOING_CALL
在我的申请中,我可以收到 android.intent.action.PHONE_STATE
但无法在 android O 收到 Intent.ACTION_NEW_OUTGOING_CALL
。如果我使用 android N 或 android M 一切正常。
我在 AndroidManifest 文件 中注册了第一个广播,在 前台服务 中注册了第二个广播,但是其中 none 个可以接收 Intent.ACTION_NEW_OUTGOING_CALL
,只能收到android.intent.action.PHONE_STATE
。
如果有人知道如何修复它,请post您的回答,在此先感谢。
经过一些测试,我通过添加修复它:
ActivityCompat.requestPermissions(activity, Manifest.permission.PROCESS_OUTGOING_CALLS, requestCode)
但我仍然很困惑,因为我的 phone 没有要求我授予权限但工作正常。也许是 android O 的错误或功能?
But I am still confused, because my phone not ask me to give the permission but work fine. Maybe a bug or feature of android O ?
这是 Android O 的一个特征。
以前,当你请求权限组(PHONE
)的权限(android.permission.READ_PHONE_STATE
)并且用户授予它时,你可以使用任何权限(android.permission.PROCESS_OUTGOING_CALLS
等) .) 该权限组 (PHONE
) 自由(无需再次请求用户)。
现在从AndroidO开始,即使你的应用已经持有权限组(PHONE
)的权限(android.permission.READ_PHONE_STATE
),你也需要再次调用requestPermission
对于同一组的其他权限(android.permission.PROCESS_OUTGOING_CALLS
)。这不会提示用户授予权限(android.permission.PROCESS_OUTGOING_CALLS
),如果您已经拥有同一权限组(PHONE
)的另一个权限(android.permission.READ_PHONE_STATE
),该权限将自动授予。
在我的申请中,我可以收到 android.intent.action.PHONE_STATE
但无法在 android O 收到 Intent.ACTION_NEW_OUTGOING_CALL
。如果我使用 android N 或 android M 一切正常。
我在 AndroidManifest 文件 中注册了第一个广播,在 前台服务 中注册了第二个广播,但是其中 none 个可以接收 Intent.ACTION_NEW_OUTGOING_CALL
,只能收到android.intent.action.PHONE_STATE
。
如果有人知道如何修复它,请post您的回答,在此先感谢。
经过一些测试,我通过添加修复它:
ActivityCompat.requestPermissions(activity, Manifest.permission.PROCESS_OUTGOING_CALLS, requestCode)
但我仍然很困惑,因为我的 phone 没有要求我授予权限但工作正常。也许是 android O 的错误或功能?
But I am still confused, because my phone not ask me to give the permission but work fine. Maybe a bug or feature of android O ?
这是 Android O 的一个特征。
以前,当你请求权限组(PHONE
)的权限(android.permission.READ_PHONE_STATE
)并且用户授予它时,你可以使用任何权限(android.permission.PROCESS_OUTGOING_CALLS
等) .) 该权限组 (PHONE
) 自由(无需再次请求用户)。
现在从AndroidO开始,即使你的应用已经持有权限组(PHONE
)的权限(android.permission.READ_PHONE_STATE
),你也需要再次调用requestPermission
对于同一组的其他权限(android.permission.PROCESS_OUTGOING_CALLS
)。这不会提示用户授予权限(android.permission.PROCESS_OUTGOING_CALLS
),如果您已经拥有同一权限组(PHONE
)的另一个权限(android.permission.READ_PHONE_STATE
),该权限将自动授予。