PhoneStateIntentReceiverまたはPhoneStateListenerを使用せずに、BroadcastReceiverを拡張してOSのブロードキャストをリッスンすることにより、着信をリッスンする方法はありますか? また、マニフェストのアクションとパーミッションはどうなるか教えてください。
次のように試してみましたが、着信では機能しませんが、発信では機能します
アプリの唯一の.javaファイルは次のとおりです(アプリは1つの.javaファイルと1つのマニフェストファイルのみ)
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");
}
}
マニフェスト
<?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>