我有一个BroadcastReceiver与意图过滤器来捕捉android.intent.action.NEW_OUTGOING_CALL。Android接收器忽略NEW_OUTGOING_CALL
我读了很多教程,并在这里回答了有关处理NEW_OUTGOING_CALL意图的问题,但我无法使这个工作成功。 我的目标是记录我的BroadcastReceiver收到的意图android.intent.action.NEW_OUTGOING_CALL。我无法使这个简单的事情起作用。
这里是我的代码:
的Manifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="net.vannus.broadcasttest">
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver android:name=".TestReceiver">
<intent-filter>
<action android:name="android.intent.action.NEW_OUTGOING_CALL" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>
</application>
</manifest>
这是广播接收器(TestReceiver.java)代码
package net.vannus.broadcasttest;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
public class TestReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent)
{
Log.w("###TEST###",intent.getAction());
}
}
该项目还包含没有空MainActivity功能。 执行项目的主要活动是启动,但是当我尝试拨打或接听电话时没有写入日志。 我在模拟器(Android 7)和摩托罗拉G4手机(Android 6.0)上测试了代码,但logcat上没有记录任何内容。 我正在使用Android Studio 2.3
我在做什么错?
感谢
Vannus