一 TelephonyManager
TelephonyManager類主要提供了一系列用於訪問與手機通訊相關的狀態和資訊的get方法。其中包括手機SIM的狀態和資訊、
電信網路的狀態及手機使用者的資訊。在應用程式中可以使用這些get方法擷取相關資料。
TelephonyManager類的對象可以通過:Context.getSystemService(Context.TELEPHONY_SERVICE)方法來獲得,
需要注意的是有些通訊資訊的擷取對應用程式的許可權有一定的限制,在開發的時候需要為其添加相應的許可權。
TelephonyManager不是一個Framework層Service,屬於Context中,對於每一個應用程式中都存在。
看一下TelephonyManager類結構:
看到是對三個Framework層的Service,遠程代理對象完成對狀態資訊的擷取。
二 PhoneInterfaceManager
實現ITelephony介面,就是Framework層Telephony的相關介面,實現對Phone的控制操作。
這個類的實現確實在PhoneApp中完成,但是實現了遠程調用,加入到
ServiceManager中。
PhoneInterfaceManager建構函式:
private PhoneInterfaceManager(PhoneApp app, Phone phone) { mApp = app; mPhone = phone; mCM = PhoneApp.getInstance().mCM; mMainThreadHandler = new MainThreadHandler(); publish(); }private void publish() { ServiceManager.addService("phone", this);}
TelephonyManager與 PhoneInterfaceManager應用:
來自:http://blog.163.com/my_ywj/blog/static/181203559201222384039340/