gpt4 book ai didi

android - 通过 BroadcastReceiver 监听来电,无需 PhoneStateIntentReceiver 或 PhoneStateListener

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:05:48 24 4
gpt4 key购买 nike

有没有办法通过扩展 BroadcastReceiver 来监听操作系统的广播,而不使用 PhoneStateIntentReceiver 或 PhoneStateListener 来监听来电。另外请告诉我 list 中的操作和权限是什么。

我试过如下但它不适用于来电但适用于传出

app只有一个.java文件如下(app只有一个.java文件和一个manifest文件)

package com.crsardar.media.audio;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;

public class IncommingCallReceiverCRS extends BroadcastReceiver{

@Override
public void onReceive(Context context, Intent intent) {
Log.e("Chitta : ", "Its working");
}
}

list

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.crsardar.media.audio"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">

<receiver android:name="IncommingCallReceiverCRS" android:enabled="true">
<intent-filter>
<!--action android:name="android.intent.action.NEW_OUTGOING_CALL"/-->
<action android:name="android.intent.action.ANSWER" >
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>

</application>

<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
</manifest>

最佳答案

您在 list 中定义的操作不正确。这是一个可用于接听电话而不是监听来电的 Action Intent。

您可以使用两个收听 ACTION_PHONE_STATE_CHANGED 的广播接收器和 NEW_OUTGOING_CALL广播 Intent 。

ACTION_PHONE_STATE_CHANGED 将在有新来电、来电已接听或挂断时收到(请参阅随此 Intent 收到的 EXTRA 的文档)。

当您的设备上有新的拨出电话时,将收到 NEW_OUTGOING_CALL。

至于权限,我认为您在 list 中的理解是正确的(我假设 RECORD_AUDIO 权限用于您应用程序中的其他内容)

关于android - 通过 BroadcastReceiver 监听来电,无需 PhoneStateIntentReceiver 或 PhoneStateListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5486793/

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