私はいくつかの電話をブロックするアプリケーションを書いています。ブロードキャストレシーバーを使用して、着信コールをリッスンします。
<receiver android:name="InComingCallReceiver">
<intent-filter android:priority="100">
<action android:name="android.intent.action.PHONE_STATE"></action>
</intent-filter>
</receiver>
そして、私は望まない通話をキャンセルしました:
TelephonyManager telephony = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
try {
Class c = Class.forName(telephony.getClass().getName());
Method m = c.getDeclaredMethod("getITelephony");
m.setAccessible(true);
telephonyService = (ITelephony) m.invoke(telephony);
telephonyService.silenceRinger();
telephonyService.endCall();
}
catch (Exception e) {
Log.e(LOG_TAG,"Exception in InComingCallReceiver.onReceive");
Log.e(LOG_TAG,"ERROR: " + e.toString() + " Message: " + e.getMessage() + " --- " + e.getLocalizedMessage() + " Cause: " + e.getCause() + " StackTrace: " + e.getStackTrace());
}
通話は完全にキャンセルされますが、通話ログに表示されます。
キャンセルした後、通話が通話記録に記録されないようにする方法はありますか?
そうでない場合、プログラムでログから削除するにはどうすればよいですか?