国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android監聽手機電話狀態與發送郵件通知來電號碼的方法(基于PhoneStateListene實現)

2020-04-11 10:53:24
字體:
來源:轉載
供稿:網友

本文實例講述了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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 墨竹工卡县| 常德市| 正定县| 宣城市| 永福县| 绩溪县| 嘉定区| 革吉县| 瓮安县| 子洲县| 化德县| 扬中市| 济南市| 汉源县| 灵宝市| 沈丘县| 凤凰县| 泰安市| 林甸县| 石泉县| 化德县| 孝义市| 西林县| 新竹市| 兴义市| 濮阳市| 商南县| 永昌县| 化隆| 临猗县| 鸡西市| 木里| 涟水县| 温泉县| 织金县| 买车| 九江县| 兴安盟| 富阳市| 沅江市| 余干县|