- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
有没有办法通过扩展 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/
public class MyReceiver extends PhoneStateIntentReceiver { @Override public void o
谁能告诉我phonestateintentreceiver.notifyPhoneCallState有什么用? 最佳答案 我知道现在在这里发布答案为时已晚,可能对以后引用这个的人有帮助。 如果您的应用
有没有办法通过扩展 BroadcastReceiver 来监听操作系统的广播,而不使用 PhoneStateIntentReceiver 或 PhoneStateListener 来监听来电。另外请告
我是一名优秀的程序员,十分优秀!