導航:首頁 > 操作系統 > android判斷電話

android判斷電話

發布時間:2024-09-13 13:34:14

android中提供了3種電話狀態,但是好像沒有給出電話的接通狀態的判斷,怎麼判斷撥打和接聽電話是否接通

android源碼裡面是有以下狀態的:
IDLE,//待機,沒有連接
ACTIVE,//通話
HOLDING,//掛斷通話
DIALING,//響鈴
ALERTING,//提醒
INCOMING,//來電
WAITING,//等待接通
DISCONNECTED,//連接斷開後
DISCONNECTING;//連接斷開工程中

你要去看源碼裡面的

② Android怎麼判斷手機是否處於正在通話中,通話狀態的判斷

是安卓編程嗎?PhoneStateListener有個onCallStateChanged(int state, String incomingNumber)方法,state == TelephonyManager.CALL_STATE_OFFHOOK為電話接聽狀態。

③ android 判斷設備是否有通話功能

super.onCallStateChanged(state, incomingNumber); switch(state){ //判斷是否有電話接入 case 1: try { 1是提示對方正在通話中。類似TelephonyManager.CALL_STATE_RINGING通話響鈴的狀態,其他狀態網上有。2是提示對方已啟用來電簡訊提醒功能。

④ android 怎麼判斷電話占線

1. 如何判斷手機是否處於正在通話中?(任何時候都可以判斷手機是否處於通過中)
private boolean phoneIsInUse() {
boolean phoneInUse = false;
try {
ITelephony phone = ITelephony.Stub.asInterface(ServiceManager.checkService("phone"));
if (phone != null) phoneInUse = !phone.isIdle();
} catch (RemoteException e) {
Log.w(TAG, "phone.isIdle() failed", e);
}
return phoneInUse;
}

2.通話狀態的判斷(需要注冊監聽以後,才可以判斷手機通話狀態的改變,可能連續接收到同一個狀態的改變)

package cn.com.chenzheng_java;

import android.app.Activity;
import android.os.Bundle;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
import android.widget.TextView;
/**
*
* @author
* @description 通過該實例,我們可以看到,如果我們想要監聽電話的撥打狀況,需要這么幾步
* 第一:獲取電話服務管理器TelephonyManager manager = this.getSystemService(TELEPHONY_SERVICE);
* 第二:通過TelephonyManager注冊我們要監聽的電話狀態改變事件。manager.listen(new MyPhoneStateListener(),
* PhoneStateListener.LISTEN_CALL_STATE);這里的PhoneStateListener.LISTEN_CALL_STATE就是我們想要
* 監聽的狀態改變事件,初次之外,還有很多其他事件哦。
* 第三步:通過extends PhoneStateListener來定製自己的規則。將其對象傳遞給第二步作為參數
* 第四步:這一步很重要,那就是給應用添加許可權。android.permission.READ_PHONE_STATE
*
*
*/
public class PhoneCallStateActivity extends Activity {
TelephonyManager manager ;
String result = "監聽電話狀態:/n";
TextView textView ;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//獲取電話服務
manager = (TelephonyManager) this.getSystemService(TELEPHONY_SERVICE);
// 手動注冊對PhoneStateListener中的listen_call_state狀態進行監聽
manager.listen(new MyPhoneStateListener(), PhoneStateListener.LISTEN_CALL_STATE);

textView = (TextView) findViewById(R.id.textView1);
textView.setText(result);
}
/***
* 繼承PhoneStateListener類,我們可以重新其內部的各種監聽方法
*然後通過手機狀態改變時,系統自動觸發這些方法來實現我們想要的功能
*/
class MyPhoneStateListener extends PhoneStateListener{

@Override
public void onCallStateChanged(int state, String incomingNumber) {
switch (state) {
case TelephonyManager.CALL_STATE_IDLE:
result+=" 手機空閑起來了 ";
break;
case TelephonyManager.CALL_STATE_RINGING:
result+=" 手機鈴聲響了,來電號碼:"+incomingNumber;
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
result+=" 電話被掛起了 ";
default:
break;
}
textView.setText(result);
super.onCallStateChanged(state, incomingNumber);
}

}

}
這里一定要注意,別忘記給應用注冊許可權:
<uses-permission android:name="android.permission.READ_PHONE_STATE"$amp;>amp;$lt;/uses-permission>

閱讀全文

與android判斷電話相關的資料

熱點內容
java與嵌入式開發 瀏覽:18
minios如何搭建文件伺服器 瀏覽:998
華為為啥有些壓縮包解壓不開 瀏覽:561
oracle可以編譯存儲嗎 瀏覽:472
機械男和女程序員創業 瀏覽:799
自己怎麼製作軟體app 瀏覽:212
javajson字元串轉java對象 瀏覽:228
必修一數學PDF 瀏覽:775
javascriptphpjsp 瀏覽:811
深圳一程序員退房完整版 瀏覽:294
後台管理app哪個好 瀏覽:766
加密鎖無模塊什麼意思 瀏覽:22
加密國度英文 瀏覽:20
科沃斯用了app怎麼使用按鍵 瀏覽:663
爬蟲編譯器價格 瀏覽:885
支付寶視頻app會員自動扣費怎麼關 瀏覽:230
單片機和wifi模塊 瀏覽:725
python倒序二進制代碼 瀏覽:362
廣東程序員離職 瀏覽:586
golang核心編程 瀏覽:170