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

熱點內容
linux好用的編輯器 瀏覽:998
linuxpartprobe 瀏覽:315
視頻教育網站源碼 瀏覽:513
java指定位數的隨機數 瀏覽:900
300公斤壓縮機 瀏覽:549
java時間轉換毫秒數 瀏覽:290
我的世界怎麼開掛在伺服器 瀏覽:848
app怎麼退定金 瀏覽:925
php獲取外網地址 瀏覽:172
單片機lan 瀏覽:582
html炫酷黑頁源碼 瀏覽:955
如何遠程更新伺服器 瀏覽:785
伺服器導軌怎麼安裝圖解 瀏覽:984
如何設置加密共享文檔 瀏覽:656
單片機雙燈左移右移 瀏覽:927
網頁無法打開pdf 瀏覽:556
linux命令scp 瀏覽:519
怎樣把圖片轉為pdf格式 瀏覽:115
linux變數類型 瀏覽:840
linux中網卡配置 瀏覽:704