最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android監(jiān)聽來電和去電的實(shí)現(xiàn)方法

 更新時間:2016年08月12日 10:39:15   作者:與時俱進(jìn)  
這篇文章主要介紹了Android監(jiān)聽來電和去電的實(shí)現(xiàn)方法,涉及Android中BroadcastReceiver組件的使用及AndroidManifest.xml權(quán)限操作的相關(guān)技巧,需要的朋友可以參考下

本文實(shí)例講述了Android監(jiān)聽來電和去電的實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:

要監(jiān)聽android打電話和接電話,只需下面2步驟

第一步,寫一個Receiver繼承自BroadcastReceiver

import android.app.Service;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.telephony.TelephonyManager;
import android.util.Log;
public class PhoneStateBroadCastReceiver extends BroadcastReceiver
{
 private static final String TAG = "PhoneStateBroadCastReceiver";
 private static boolean mIncomingFlag = false;
 private static String mIncomingNumber = null;
 @Override
 public void onReceive(Context context, Intent intent)
 {
 // 如果是撥打電話
 if (intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL))
 {
  mIncomingFlag = false;
  String phoneNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
  Log.i(TAG, "call OUT:" + phoneNumber);
 } else
 {
  // 如果是來電
  TelephonyManager tManager =
  (TelephonyManager) context.getSystemService(Service.TELEPHONY_SERVICE);
  switch (tManager.getCallState())
  {
  case TelephonyManager.CALL_STATE_RINGING:
  mIncomingNumber = intent.getStringExtra("incoming_number");
  Log.i(TAG, "RINGING :" + mIncomingNumber);
  break;
  case TelephonyManager.CALL_STATE_OFFHOOK:
  if (mIncomingFlag)
  {
   Log.i(TAG, "incoming ACCEPT :" + mIncomingNumber);
  }
  break;
  case TelephonyManager.CALL_STATE_IDLE:
  if (mIncomingFlag)
  {
   Log.i(TAG, "incoming IDLE");
  }
  break;
  }
 }
 }
}

第二步:在AndroidManifest.xml,配置寫好的Receiver,并攔截相應(yīng)的BroadCastAction,

另外注意加上相應(yīng)的權(quán)限

<receiver android:name=".broadcase.PhoneStateBroadCastReceiver">
   <intent-filter>
    <action android:name="android.intent.action.PHONE_STATE"/>
    <action android:name="android.intent.action.NEW_OUTGOING_CALL" />
   </intent-filter>
 </receiver>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />

PS:這里再為大家提供一個關(guān)于AndroidManifest.xml權(quán)限控制的在線查詢工具:

Android Manifest功能與權(quán)限描述大全:
http://tools.jb51.net/table/AndroidManifest

更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android短信與電話操作技巧匯總》、《Android操作SQLite數(shù)據(jù)庫技巧總結(jié)》、《Android開發(fā)入門與進(jìn)階教程》、《Android多媒體操作技巧匯總(音頻,視頻,錄音等)》、《Android基本組件用法總結(jié)》、《Android視圖View技巧總結(jié)》、《Android布局layout技巧總結(jié)》及《Android控件用法總結(jié)

希望本文所述對大家Android程序設(shè)計有所幫助。

相關(guān)文章

最新評論

奉化市| 灵石县| 永吉县| 三江| 长白| 从江县| 虹口区| 桐柏县| 民勤县| 孙吴县| 东山县| 方山县| 岱山县| 临武县| 凭祥市| 甘德县| 东丰县| 汾阳市| 鲜城| 汤原县| 宁都县| 余姚市| 赤峰市| 平顺县| 大名县| 库尔勒市| 永修县| 惠安县| 修水县| 阿拉尔市| 晋州市| 疏附县| 凤庆县| 德格县| 长兴县| 镇康县| 宝应县| 安岳县| 依安县| 丰城市| 芦山县|