www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀] 在Android1.5版本之前,實現(xiàn)掛斷電話是非常容易的事,只需要調(diào)用TelephonyManager的endCall()方法就可以了,但在1.5版本之后,Google工程師為了手機的安全期間,把endCall

 在Android1.5版本之前,實現(xiàn)掛斷電話是非常容易的事,只需要調(diào)用TelephonyManager的endCall()方法就可以了,但在1.5版本之后,Google工程師為了手機的安全期間,把endCall的方法隱藏掉了。所以實現(xiàn)掛斷電話可以通過反射的方法,執(zhí)行endCall方法。具體實現(xiàn)如下:

TelephonyManager在源碼里是這樣描述的:Context.getSystemService(Context.TELEPHONY_SERVICE)},我們通過TELEPHONY_SERVICE系統(tǒng)服務(wù)調(diào)用就可以獲取。

?

1
2
3
4
registerService(TELEPHONY_SERVICE, new ServiceFetcher() {
                public Object createService(ContextImpl ctx) {
                    return new TelephonyManager(ctx.getOuterContext());
                }});

而 android.os.ServiceManager 有g(shù)etService方法

?

1
2
3
4
5
6
7
8
9
/**
     * Returns a reference to a service with the given name.
     *
     * @param name the name of the service to get
     * @return a reference to the service, or <code>null</code> if the service doesn't exist
     */
    public static IBinder getService(String name) {
        return null;
    }

android.telephony.TelephonyManager 類是代理ITelephony接口的,可以看到里面的endCall是被隱藏掉的。

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/**
 * Interface used to interact with the phone.  Mostly this is used by the
 * TelephonyManager class.  A few places are still using this directly.
 * Please clean them up if possible and use TelephonyManager insteadl.
 *
 * {@hide}
 */
interface ITelephony {
 
    /**
     * Dial a number. This doesn't place the call. It displays
     * the Dialer screen.
     * @param number the number to be dialed. If null, this
     * would display the Dialer screen with no number pre-filled.
     */
 
/**
     * End call or go to the Home screen
     *
     * @return whether it hung up
     */
    boolean endCall();

我們知道利用綁定服務(wù)可以調(diào)用里面的方法,會返回一個IBinder對象,利用IBinder可以調(diào)用服務(wù)里的方法。

TelephonyManager實際上就是系統(tǒng)電話服務(wù)的代理對象,通過aidl獲取IBinder,然后進一步的進行封裝。代理有限的方法。

TelephonyManager ------------------IBinder-------------------------系統(tǒng)服務(wù)

代理對象 aidl

所以實現(xiàn)需要一下步奏:

1 、 反射加載ServiceManager類。

2、 獲取IBinder對象執(zhí)行g(shù)etService方法。

3、 在項目中新建com.android.internal.telephony包(包名不能變),然后拷貝ITelephony.aidl。 在新建android.telephony包,拷貝NeighboringCellInfo.aidl 的進程通信接口兩個文件。

4、調(diào)用endCall方法。

實現(xiàn)方法如下:

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
private void endCall() {
            // IBinder iBinder = ServiceManager.getService(TELEPHONY_SERVICE);
            // ServiceManager 是被系統(tǒng)隱藏掉了 所以只能用反射的方法獲取
            try {
                // 加載ServiceManager的字節(jié)碼
                Class<!--?--> clazz = CallSMSSafeService.class.getClassLoader()
                        .loadClass("android.os.ServiceManager");
                Method method = clazz.getDeclaredMethod("getService",
                        String.class);
                IBinder iBinder = (IBinder) method.invoke(null,
                        TELEPHONY_SERVICE);
                ITelephony.Stub.asInterface(iBinder).endCall();
            } catch (Exception e) {
                e.printStackTrace();
                Log.i(TAG, "攔截電話異常");
            }
 
        }
本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

舍弗勒以"專注驅(qū)動技術(shù)的科技公司"為主題亮相IAA MOBILITY 2025(B3館B40展臺) 合并緯湃科技后首次亮相IAA MOBILITY,展示拓展后的汽車產(chǎn)品組合 憑借在軟件、...

關(guān)鍵字: 電氣 軟件 驅(qū)動技術(shù) BSP

香港2025年 9月12日 /美通社/ -- 全球領(lǐng)先的互聯(lián)網(wǎng)社區(qū)創(chuàng)建者 - 網(wǎng)龍網(wǎng)絡(luò)控股有限公司 ("網(wǎng)龍"或"本公司",香港交易所股票代碼:777)欣然宣布,其子公司My...

關(guān)鍵字: AI 遠程控制 控制技術(shù) BSP

深圳2025年9月11日 /美通社/ -- 2025 年 9 月 10 日,第 26 屆中國國際光電博覽會(簡稱 "CIOE 中國光博會")在深圳盛大開幕。本屆展會吸引力再創(chuàng)新高,全球超3800家優(yōu)質(zhì)...

關(guān)鍵字: 自動化 光電 CIO BSP

天津2025年9月11日 /美通社/ -- 國際能源署(IEA)數(shù)據(jù)顯示,2024 年全球數(shù)據(jù)中心電力消耗達 415 太瓦時,占全球總用電量的 1.5%,預(yù)計到 2030 年,這一數(shù)字將飆升至 945 太瓦時,近乎翻番,...

關(guān)鍵字: 模型 AI 數(shù)據(jù)中心 BSP

北京2025年9月11日 /美通社/ -- 國際9月11日上午,2025年中國國際服務(wù)貿(mào)易交易會(以下簡稱"服貿(mào)會")—體育賽事經(jīng)濟高質(zhì)量發(fā)展大會現(xiàn)場,北京經(jīng)濟技術(shù)開發(fā)區(qū)工委委員、管委會副主...

關(guān)鍵字: 5G BSP GROUP MOTOR

柏林2025年9月9日 /美通社/ -- 2025年9月5日,納斯達克上市公司優(yōu)克聯(lián)集團(NASDAQ: UCL)旗下全球互聯(lián)品牌GlocalMe,正式亮相柏林國際消費電子展(IFA 2025),重磅推出融合企...

關(guān)鍵字: LOCAL LM BSP 移動網(wǎng)絡(luò)

深圳2025年9月9日 /美通社/ -- PART 01活動背景 當技術(shù)的鋒芒刺穿行業(yè)壁壘,萬物互聯(lián)的生態(tài)正重塑產(chǎn)業(yè)疆域。2025年,物聯(lián)網(wǎng)產(chǎn)業(yè)邁入?"破界創(chuàng)造"與"共生進化"?的裂變時代——AI大模型消融感知邊界,...

關(guān)鍵字: BSP 模型 微信 AIOT

"出海無界 商機無限"助力企業(yè)構(gòu)建全球競爭力 深圳2025年9月9日 /美通社/ -- 2025年8月28日, 由領(lǐng)先商業(yè)管理媒體世界經(jīng)理人攜手環(huán)球資源聯(lián)合主辦、深圳?前海出海e站通協(xié)辦的...

關(guān)鍵字: 解碼 供應(yīng)鏈 AI BSP

柏林2025年9月9日 /美通社/ -- 柏林當?shù)貢r間9月6日,在2025德國柏林國際電子消費品展覽會(International Funkausstellung...

關(guān)鍵字: 掃地機器人 耳機 PEN BSP

武漢2025年9月9日 /美通社/ -- 7月24日,2025慧聰跨業(yè)品牌巡展——湖北?武漢站在武漢中南花園酒店隆重舉辦!本次巡展由慧聰安防網(wǎng)、慧聰物聯(lián)網(wǎng)、慧聰音響燈光網(wǎng)、慧聰LED屏網(wǎng)、慧聰教育網(wǎng)聯(lián)合主辦,吸引了安防、...

關(guān)鍵字: AI 希捷 BSP 平板
關(guān)閉