亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android基于AudioManager、PhoneStateListener實(shí)現(xiàn)設(shè)置黑名單功能

 更新時(shí)間:2016年01月29日 10:59:04   作者:馬到成功  
這篇文章主要介紹了Android基于AudioManager、PhoneStateListener實(shí)現(xiàn)設(shè)置黑名單功能的方法,涉及Android操作手機(jī)通信錄及通話模式與手機(jī)狀態(tài)的相關(guān)技巧,需要的朋友可以參考下

本文實(shí)例講述了Android基于AudioManager、PhoneStateListener實(shí)現(xiàn)設(shè)置黑名單功能。分享給大家供大家參考,具體如下:

手機(jī)中一般有設(shè)置黑名單的功能。此例通過(guò)設(shè)置電話黑名單,當(dāng)黑名單中的電話打來(lái)時(shí),手機(jī)鈴聲為變成靜音。

程序代碼如下:

import android.app.Activity;
import android.content.Context;
import android.media.AudioManager;
import android.os.Bundle;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnKeyListener;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class A11Activity extends Activity {
 private EditText et;//添加輸入框,輸入并設(shè)置黑名單
 private TextView tv01,tv02; //tv01用來(lái)顯示EditText中輸入的黑名單;tv02用來(lái)顯示當(dāng)前手機(jī)電話所處的狀態(tài)
  /** Called when the activity is first created. */
  @SuppressWarnings("static-access")
 @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    tv01=(TextView)findViewById(R.id.tv01);
    tv02=(TextView)findViewById(R.id.tv02);
    et=(EditText)findViewById(R.id.et);
    /**創(chuàng)建PhoneCallListener的對(duì)象;其中PhoneCallListener是
     * 擴(kuò)展了PhoneStateListener的類(lèi)*/
    PhoneCallListener pcl=new PhoneCallListener();
    TelephonyManager tm=(TelephonyManager)getSystemService(TELEPHONY_SERVICE);
    //設(shè)置監(jiān)聽(tīng)電話的功能
    tm.listen(pcl, pcl.LISTEN_CALL_STATE);
  }
  public class PhoneCallListener extends PhoneStateListener{
   public void onCallStateChanged(int state,String incomingNumber){
   switch(state){
   //手機(jī)狀態(tài)為待機(jī)時(shí),手機(jī)鈴聲為正常模式
   case TelephonyManager.CALL_STATE_IDLE:
    tv02.setText("CALL_STATE_IDLE");
    AudioManager am=(AudioManager)getSystemService(Context.AUDIO_SERVICE);
    am.setMode(AudioManager.MODE_NORMAL);
    am.getStreamVolume(AudioManager.STREAM_RING);
    break;
    //手機(jī)狀態(tài)為通話中
   case TelephonyManager.CALL_STATE_OFFHOOK:
    tv02.setText("CALL_STATE_OFFHOOK");
    break;
    //手機(jī)模式為響鈴時(shí)
   case TelephonyManager.CALL_STATE_RINGING:
    tv02.setText("CALL_STATE_RINGING");
    //當(dāng)來(lái)電號(hào)碼與黑名單中的電話號(hào)碼相同時(shí),設(shè)置電話鈴聲為靜音
    if(incomingNumber.equals(tv01.getText().toString())){
    AudioManager am01=(AudioManager)getSystemService(AUDIO_SERVICE);
    am01.setRingerMode(AudioManager.RINGER_MODE_SILENT);
    am01.getStreamVolume(AudioManager.STREAM_RING);
    Toast.makeText(A11Activity.this, "黑名單中的電話靜音??!", Toast.LENGTH_LONG).show();
    }
   }
   super.onCallStateChanged(state, incomingNumber);
   et.setOnKeyListener(new OnKeyListener(){
    @Override
    public boolean onKey(View v, int keyCode, KeyEvent event) {
    // TODO Auto-generated method stub
    tv01.setText(et.getText());
    et.setText("");
    return true;
    }
    });
   }
  }
}

更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Android控件用法總結(jié)》及《Android開(kāi)發(fā)入門(mén)與進(jìn)階教程

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

相關(guān)文章

最新評(píng)論