編輯:關於Android編程
本文實例講述了Android監聽手機電話狀態與發送郵件通知來電號碼的方法。分享給大家供大家參考,具體如下:
在android中可以用PhoneStateListener來聆聽手機電話狀態(比如待機、通話中、響鈴等)。本例是通過它來監聽手機電話狀態,當手機來電時,通過郵件將來電號碼發送到用戶郵箱的例子。具體程序如下:
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
import android.widget.TextView;
public class A07Activity extends Activity {
private TextView tv;//用來顯示電話狀態
private String emailReceiver="16*****85@qq.com"; //郵箱地址
private String emailSubject="你有來電信息,請查收!"; //作為郵件主題
/** Called when the activity is first created. */
@SuppressWarnings("static-access")
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv=(TextView)findViewById(R.id.tv);
PhoneCallListener pcl=new PhoneCallListener();
TelephonyManager tm=(TelephonyManager)getSystemService(TELEPHONY_SERVICE);
tm.listen(pcl, pcl.LISTEN_CALL_STATE);
}
public class PhoneCallListener extends PhoneStateListener{
public void onCallStateChanged(int state,String incomingNumber){ //需要重寫onCallStateChanged方法
switch(state){
case TelephonyManager.CALL_STATE_IDLE:
tv.setText("CALL_STATE_IDLE");
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
tv.setText("CALL_STATE_OFFHOOK");
break;
case TelephonyManager.CALL_STATE_RINGING:
tv.setText("來電號碼"+incomingNumber); //如果有人打來電話,就會自動發送郵件到郵箱通知用戶來電號碼
//設置來電時發送郵件
Intent i=new Intent(android.content.Intent.ACTION_SEND);
i.setType("plain/text");
i.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{emailReceiver.toString()});
i.putExtra(android.content.Intent.EXTRA_SUBJECT, emailSubject.toString());
i.putExtra(android.content.Intent.EXTRA_TEXT, "來電電話"+incomingNumber);
startActivity(Intent.createChooser(i, "來電信息"));
break;
default:
break;
}
super.onCallStateChanged(state, incomingNumber);
}
}
}
其中還需要在AndroidManifest.xml中添加幾個相應的權限:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.my.a07"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="10" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".A07Activity"
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-permission android:name="android.permission.SEND_SMS"></uses-permission>
<uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
</manifest>
更多關於Android相關內容感興趣的讀者可查看本站專題:《Android控件用法總結》及《Android開發入門與進階教程》
希望本文所述對大家Android程序設計有所幫助。
android開發步步為營之57:UncaughtExceptionHandler未捕獲的異常處理器
寫程序的時候,大部分的時候,我們都會知道添加try,catch的代碼塊,比如 try { mRoot = inflater.infl
Android實現讀取相機(相冊)圖片並進行剪裁
我們先說一下思路,在android系統中就自帶了圖片剪切的應用,所以,我們只需要將我們獲取到的相片傳給圖片剪切應用,再將剪切好的相片返回到我們自己的界面顯示就ok了在開發
Android提高之MediaPlayer播放網絡音頻的實現方法
前面有文章曾經地介紹過MediaPlayer的基本用法,這裡就更加深入地講解MediaPlayer的在線播放功能。本文主要實現MediaPlayer在線播放音頻的功能,由
淘淘商城---8.7
昨天將框架整合完成,現在我主要實現昨天的需求,實現商品的列表查詢,這時要涉及到jsp和serveilet知識,不清楚的朋友可以趕緊去補充下知識。1、商品列表的實現1.1、