導航:首頁 > 操作系統 > 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判斷電話相關的資料

熱點內容
windowsxp命令 瀏覽:62
在哪裡可以看到程序員那麼可愛 瀏覽:629
java線程傳遞參數 瀏覽:35
安卓手機投屏電視怎麼連播 瀏覽:53
文檔中添加文件夾 瀏覽:802
番茄小說app安裝目錄在哪裡 瀏覽:447
壓縮包直接解壓到u盤 瀏覽:466
編程器輸入指令 瀏覽:317
安卓跟蘋果系統為什麼不一樣 瀏覽:367
如何word轉pdf 瀏覽:473
單片機44鍵盤 瀏覽:221
了解黨史有什麼app 瀏覽:253
efs加密文件能破解嗎 瀏覽:994
phpsoapserver參數 瀏覽:122
如何利用dos創建文件夾 瀏覽:286
應用加密8位的是什麼手機 瀏覽:420
簡述什麼是單片機 瀏覽:862
編程貓怎麼才能獲得高手稱號 瀏覽:5
6針加密三針防塵網規格型號 瀏覽:724
javac哪個前景 瀏覽:227