あなたは正しいです。これは実際にcom.android.internal.telephony.Call
OEM が実装するインターフェイスです。より具体的には、com.android.internal.telephony.Phone
実装する必要があるのは、Call
、Connection
、およびその他の多くのインターフェースを使用するインターフェースです。
2 番目の質問については、Google/ASOP (Android オープン ソース プロジェクト) が実際に GSM および CDMA 用のこれらすべてのクラスの実装を提供しています。そのため、インターフェイスの Android ソースにはGSMPhone
と実装があります。CDMAPhone
Phone
https://android.googlesource.com/platform/frameworks/base
Android ソース コード全体を複製したくない場合は、git を複製できます。またはフォルダの下(frameworks/base)/telephony/java/com/android/internal/telephony/
を見てください。ここでは、たとえば、あなたが尋ねているインターフェースの実装を見つけることができます。gsm/
cdma/
GSMCall.java
com.android.internal.telephony.Call
Android テレフォニー スタックは、おおよそ次のようになります。
+------------------------------------+
| Phone | Contacts | (other apps) |
+------------------------------------+
|android internal telephony framework|
+------------------------------------+
| Radio Interface Layer (RIL) |
+------------------------------------+
| GSM/CDMA modem |
+------------------------------------+
GSM/CDMA モデムは通常、一部のベンダーから提供されており、使用する特定の GSM/CDMA モデムに合わせて RIL レイヤーをカスタマイズする必要があります。したがって実際には、ベンダーは、GSM/CDMA 電話とは異なるものをサポートしたい場合を除き、パッケージ内のCall
、Connection
、Phone
などのインターフェイスの既存の実装を変更する必要はありません。com.android.internal.telephony