为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

Android拨号面板

2017-09-19 5页 doc 28KB 19阅读

用户头像

is_682974

暂无简介

举报
Android拨号面板android 拨号面板 public class Main extends Activity implements View.OnClickListener{         private boolean mDTMFToneEnabled;     private Object mToneGeneratorLock = new Object();     private ToneGenerator mToneGenerator;     private static final int TONE_LENGTH_MS = ...
Android拨号面板
android 拨号面板 public class Main extends Activity implements View.OnClickListener{         private boolean mDTMFToneEnabled;     private Object mToneGeneratorLock = new Object();     private ToneGenerator mToneGenerator;     private static final int TONE_LENGTH_MS = 150;     private static final int TONE_RELATIVE_VOLUME = 80;     private static final int DIAL_TONE_STREAM_TYPE = AudioManager.STREAM_MUSIC;     private EditText mDigits;     private ImageButton deleteIMB;     private ImageButton dialIMB;     @Override     protected void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     setContentView(R.layout.dialmain);     mDigits = (EditText) findViewById(R.id.digits);     deleteIMB=(ImageButton) findViewById(R.id.delete_back);     dialIMB=(ImageButton) findViewById(R.id.start_dial);     deleteIMB.setOnClickListener(this);     dialIMB.setOnClickListener(this);     setupKeypad();     }     private void setupKeypad() {         // Setup the listeners for the buttons         findViewById(R.id.zero).setOnClickListener(this);         findViewById(R.id.one).setOnClickListener(this);         findViewById(R.id.two).setOnClickListener(this);         findViewById(R.id.three).setOnClickListener(this);         findViewById(R.id.four).setOnClickListener(this);         findViewById(R.id.five).setOnClickListener(this);         findViewById(R.id.six).setOnClickListener(this);         findViewById(R.id.seven).setOnClickListener(this);         findViewById(R.id.eight).setOnClickListener(this);         findViewById(R.id.nine).setOnClickListener(this);         findViewById(R.id.star).setOnClickListener(this);         findViewById(R.id.pound).setOnClickListener(this);     }     @Override     protected void onResume() {         // TODO Auto-generated method stub         super.onResume();         mDTMFToneEnabled = Settings.System.getInt(getContentResolver(),                 Settings.System.DTMF_TONE_WHEN_DIALING, 1) == 1;         synchronized (mToneGeneratorLock) {             if (mToneGenerator == null) {                 try {                     // we want the user to be able to control the volume of the                     // dial tones                     // outside of a call, so we use the stream type that is also                     // mapped to the                     // volume control keys for this activity                     mToneGenerator = new ToneGenerator(DIAL_TONE_STREAM_TYPE,                             TONE_RELATIVE_VOLUME);                     setVolumeControlStream(DIAL_TONE_STREAM_TYPE);                 } catch (RuntimeException e) {                     mToneGenerator = null;                 }             }         }     }     @Override     public void onClick(View v) {         switch (v.getId()) {         case R.id.one: {             playTone(ToneGenerator.TONE_DTMF_1);             keyPressed(KeyEvent.KEYCODE_1);             return;         }         case R.id.two: {             playTone(ToneGenerator.TONE_DTMF_2);             keyPressed(KeyEvent.KEYCODE_2);             return;         }         case R.id.three: {             playTone(ToneGenerator.TONE_DTMF_3);             keyPressed(KeyEvent.KEYCODE_3);             return;         }         case R.id.four: {             playTone(ToneGenerator.TONE_DTMF_4);             keyPressed(KeyEvent.KEYCODE_4);             return;         }         case R.id.five: {             playTone(ToneGenerator.TONE_DTMF_5);             keyPressed(KeyEvent.KEYCODE_5);             return;         }         case R.id.six: {             playTone(ToneGenerator.TONE_DTMF_6);             keyPressed(KeyEvent.KEYCODE_6);             return;         }         case R.id.seven: {             playTone(ToneGenerator.TONE_DTMF_7);             keyPressed(KeyEvent.KEYCODE_7);             return;         }         case R.id.eight: {             playTone(ToneGenerator.TONE_DTMF_8);             keyPressed(KeyEvent.KEYCODE_8);             return;         }         case R.id.nine: {             playTone(ToneGenerator.TONE_DTMF_9);             keyPressed(KeyEvent.KEYCODE_9);             return;         }         case R.id.zero: {             playTone(ToneGenerator.TONE_DTMF_0);             keyPressed(KeyEvent.KEYCODE_0);             return;         }         case R.id.pound: {             playTone(ToneGenerator.TONE_DTMF_P);             keyPressed(KeyEvent.KEYCODE_POUND);             return;         }         case R.id.star: {             playTone(ToneGenerator.TONE_DTMF_S);             keyPressed(KeyEvent.KEYCODE_STAR);             return;         }                   case R.id.delete_back:{           keyPressed(KeyEvent.KEYCODE_DEL);           return;       }       case R.id.start_dial: //          intent       return;       } //        case R.id.deleteButton: { //            keyPressed(KeyEvent.KEYCODE_DEL); //            return;             }             void playTone(int tone) {         // if local tone playback is disabled, just return.         if (!mDTMFToneEnabled) {             return;         }         // Also do nothing if the phone is in silent mode.         // We need to re-check the ringer mode for *every* playTone()         // call, rather than keeping a local flag that's updated in         // onResume(), since it's possible to toggle silent mode without         // leaving the current activity (via the ENDCALL-longpress menu.)         AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);         int ringerMode = audioManager.getRingerMode();         if ((ringerMode == AudioManager.RINGER_MODE_SILENT)                 || (ringerMode == AudioManager.RINGER_MODE_VIBRATE)) {             return;         }         synchronized (mToneGeneratorLock) {             if (mToneGenerator == null) {                 return;             }             // Start the new tone (will stop any playing tone)             mToneGenerator.startTone(tone, TONE_LENGTH_MS);         }     }     private void keyPressed(int keyCode) {         // mHaptic.vibrate();         KeyEvent event = new KeyEvent(KeyEvent.ACTION_DOWN, keyCode);         mDigits.onKeyDown(keyCode, event);     } }
/
本文档为【Android拨号面板】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索