Android掛斷電話最新實(shí)現(xiàn)方法
1.Android 動(dòng)態(tài)申請(qǐng)權(quán)限
首先,需要在AndroidManifest.xml靜態(tài)申請(qǐng)電話權(quán)限,否則無(wú)法動(dòng)態(tài)申請(qǐng)權(quán)限,以下代碼位置不能放錯(cuò)(在application之外):
<uses-permission android:name="android.permission.CALL_PHONE" />
然后,在java代碼中寫動(dòng)態(tài)申請(qǐng)權(quán)限的邏輯(這是官網(wǎng)的寫法)
public void requestPower() { //判斷是否已經(jīng)賦予權(quán)限 if (ContextCompat.checkSelfPermission(this, Manifest.permission.上面電話權(quán)限字符) != PackageManager.PERMISSION_GRANTED) { //如果應(yīng)用之前請(qǐng)求過(guò)此權(quán)限但用戶拒絕了請(qǐng)求,此方法將返回 true。 if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.上面電話權(quán)限字符)) {//這里可以寫個(gè)對(duì)話框之類的項(xiàng)向用戶解釋為什么要申請(qǐng)權(quán)限,并在對(duì)話框的確認(rèn)鍵后續(xù)再次申請(qǐng)權(quán)限.它在用戶選擇"不再詢問(wèn)"的情況下返回false } else { //申請(qǐng)權(quán)限,字符串?dāng)?shù)組內(nèi)是一個(gè)或多個(gè)要申請(qǐng)的權(quán)限,1是申請(qǐng)權(quán)限結(jié)果的返回參數(shù),在onRequestPermissionsResult可以得知申請(qǐng)結(jié)果 ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.上面電話字符,}, 1); } } }
示例圖:
2.創(chuàng)建一個(gè)AIDL文件ITelephony包名必須是(com.android.internal.telephony)
// ITelephony.aidl package com.android.internal.telephony; // Declare any non-default types here with import statements interface ITelephony { boolean endCall(); void answerRingingCall(); }
示例圖:
3.寫java代碼實(shí)現(xiàn)掛斷電話
private void endCall() { try { //通過(guò)反射得到隱藏的API,并獲得隱藏類的Class對(duì)象 Class<?> clazz = Class.forName("android.os.ServiceManager"); //獲取 Method類對(duì)象(方法對(duì)象) Method method = clazz.getMethod("getService", String.class); //調(diào)用方法獲到iBinder對(duì)象 IBinder ibinder = (IBinder) method.invoke(null, Context.TELEPHONY_SERVICE); ITelephony iTelephony = ITelephony.Stub.asInterface(ibinder); iTelephony.endCall();//結(jié)束電話 } catch (Exception e) { e.printStackTrace(); } }
記得一定要?jiǎng)討B(tài)添加電話權(quán)限哦!不然掛電話這個(gè)操作實(shí)現(xiàn)不了。
總結(jié)
到此這篇關(guān)于Android掛斷電話最新實(shí)現(xiàn)方法的文章就介紹到這了,更多相關(guān)Android掛斷電話最新內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Android獲取手機(jī)號(hào)碼和運(yùn)營(yíng)商信息的方法
這篇文章主要介紹了Android獲取手機(jī)號(hào)碼和運(yùn)營(yíng)商信息的方法,以實(shí)例形式完整講述了獲取手機(jī)號(hào)碼和運(yùn)營(yíng)商信息的技巧,代碼中包含完整的注釋說(shuō)明,需要的朋友可以參考下2015-01-01Android Studio自定義萬(wàn)能注釋模板與創(chuàng)建類,方法注釋模板操作
這篇文章主要介紹了Android Studio自定義萬(wàn)能注釋模板與創(chuàng)建類,方法注釋模板操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03Android WebView交互傳遞json字符串并解析的方法
這篇文章主要給大家介紹了關(guān)于Android中WebView交互傳遞json字符串并解析的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)各位Android開(kāi)發(fā)者具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2018-05-05Android自定義View實(shí)現(xiàn)繪制虛線的方法詳解
這篇文章主要給大家介紹了Android自定義View實(shí)現(xiàn)繪制虛線的方法,在繪制過(guò)程中走了一些彎路才實(shí)現(xiàn)了虛線的效果,所以想著總結(jié)分享出來(lái),方便有需要的朋友和自己在需要的時(shí)候參考學(xué)習(xí),下面來(lái)一起看看吧。2017-04-04Android使用Javamail發(fā)送Email群發(fā)加附件
這篇文章主要為大家詳細(xì)介紹了Android使用Javamail發(fā)送Email群發(fā)加附件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01Android中實(shí)現(xiàn)ProgressBar菊花旋轉(zhuǎn)進(jìn)度條的動(dòng)畫(huà)效果
大家在一些頁(yè)面經(jīng)常會(huì)遇到加載中需要顯示一個(gè)加載動(dòng)畫(huà),像旋轉(zhuǎn)的菊花旋轉(zhuǎn)的圈圈動(dòng)畫(huà)效果,本文通過(guò)實(shí)例代碼給大家講解下,需要的朋友參考下吧2021-09-09Android?藍(lán)牙BLE開(kāi)發(fā)完全指南
BLE藍(lán)牙的興起主要因?yàn)榻陙?lái)可穿戴設(shè)備的流行,由于傳統(tǒng)藍(lán)牙功耗高不能滿足可穿戴設(shè)備對(duì)于續(xù)航的要求,所以大部分可穿戴設(shè)備采用藍(lán)牙4.0,即BLE藍(lán)牙技術(shù),這篇文章主要給大家介紹了關(guān)于Android?藍(lán)牙BLE開(kāi)發(fā)的相關(guān)資料,需要的朋友可以參考下2021-11-11Android自定義控件實(shí)現(xiàn)方向盤效果
這篇文章主要為大家詳細(xì)介紹了Android自定義控件實(shí)現(xiàn)方向盤效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-04-04Android 使用【AIDL】調(diào)用外部服務(wù)的解決方法
本篇文章是對(duì)Android中使用AIDL調(diào)用外部服務(wù)的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06