`
luckfox
  • 浏览: 64554 次
  • 性别: Icon_minigender_1
  • 来自: 台灣
社区版块
存档分类
最新评论

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. */

	@Override
	public 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 
	{ 
		@Override
		public 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> 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics