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

熱點內容
彈性雲伺服器配置流程 瀏覽:304
android交叉編譯linux 瀏覽:988
金聖嘆水滸傳pdf 瀏覽:501
安卓官換新機是什麼意思啊 瀏覽:922
java如何分頁 瀏覽:558
如何查找加密的視頻 瀏覽:742
單片機lcd漢字顯示 瀏覽:878
能夠識別中文的編譯器 瀏覽:63
androidlayout注釋 瀏覽:959
重啟手機命令 瀏覽:838
程序員那麼可愛男女主是誰 瀏覽:492
文件如何上傳到自己的伺服器 瀏覽:401
你用什麼app 瀏覽:224
安卓平板用什麼優化軟體 瀏覽:747
centos重新編譯程序 瀏覽:335
cocoapods命令 瀏覽:906
androidusb卸載 瀏覽:143
linux解壓縮軟體 瀏覽:144
ppt及備注轉pdf 瀏覽:564
ssh下載文件命令 瀏覽:821