Android以TelephonyManager获得話機狀態

Android以TelephonyManager取得話機狀態package android.demo.phonestateimport android.app.Activityim

Android以TelephonyManager取得話機狀態

package android.demo.phonestate;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.telephony.PhoneStateListener;import android.telephony.TelephonyManager;import android.widget.Toast;public class PhoneState_Activity extends Activity {    /** Called when the activity is first created. */@Overridepublic void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); //電話狀態的Listener MyPhoneStateListener myPhoneStateListener = new MyPhoneStateListener(); //取得TelephonyManager TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); //將電話狀態的Listener加到取得TelephonyManager telephonyManager.listen(myPhoneStateListener, PhoneStateListener.LISTEN_CALL_STATE); } public class MyPhoneStateListener extends PhoneStateListener { @Overridepublic void onCallStateChanged(int state, String phoneNumber) { Toast.makeText(PhoneState_Activity.this, TelephonyManager.ACTION_PHONE_STATE_CHANGED, Toast.LENGTH_SHORT).show();switch (state) { //電話狀態是閒置的 case TelephonyManager.CALL_STATE_IDLE: break; //電話狀態是接起的 case TelephonyManager.CALL_STATE_OFFHOOK: Toast.makeText(PhoneState_Activity.this, "正接起電話…", Toast.LENGTH_SHORT).show(); break; //電話狀態是響起的 case TelephonyManager.CALL_STATE_RINGING: Toast.makeText(PhoneState_Activity.this, phoneNumber + "正打電話來…", Toast.LENGTH_SHORT).show(); break; default: break; } } } }//--------------------------------<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"      package="android.demo.phonestate"      android:versionCode="1"      android:versionName="1.0">    <application android:icon="@drawable/icon" android:label="@string/app_name">        <activity android:name=".PhoneState_Activity"                  android:label="@string/app_name">            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>    </application>    <uses-sdk android:minSdkVersion="7" /><uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission> </manifest>