List of usage examples for android.media AudioManager getMode
public int getMode()
From source file:im.vector.activity.CallViewActivity.java
private void refreshSpeakerButton() { if ((null != mCall) && mCall.getCallState().equals(IMXCall.CALL_STATE_CONNECTED)) { mSpeakerSelectionView.setVisibility(View.VISIBLE); AudioManager audioManager = (AudioManager) CallViewActivity.this .getSystemService(Context.AUDIO_SERVICE); if (audioManager.isSpeakerphoneOn()) { mSpeakerSelectionView.setImageResource(R.drawable.ic_material_call); } else {/*from w w w .j ava 2 s . c o m*/ mSpeakerSelectionView.setImageResource(R.drawable.ic_material_volume); } CallViewActivity.this.setVolumeControlStream(audioManager.getMode()); } else { mSpeakerSelectionView.setVisibility(View.GONE); } }
From source file:com.yangtsaosoftware.pebblemessenger.services.PebbleCenter.java
private void answerCall(boolean isSpeakon) { Context context = getApplicationContext(); AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); // ??//from ww w.j a v a 2 s .c o m if (!(audioManager.isWiredHeadsetOn() || audioManager.isBluetoothA2dpOn())) { // 4.1??? 4.1??Permission Denial: not allowed to // send broadcast android.intent.action.HEADSET_PLUG from pid=1324, // uid=10017 // ??????android.permission.CALL_PRIVLEGED?????4.1??????????NULL?? Constants.log("speakerset", String.format("AudioManager before mode:%d speaker mod:%s", audioManager.getMode(), String.valueOf(audioManager.isSpeakerphoneOn()))); Intent meidaButtonIntent = new Intent(Intent.ACTION_MEDIA_BUTTON); KeyEvent keyEvent = new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_HEADSETHOOK); meidaButtonIntent.putExtra(Intent.EXTRA_KEY_EVENT, keyEvent); context.sendOrderedBroadcast(meidaButtonIntent, "android.permission.CALL_PRIVILEGED"); /*TelephonyManager telMag = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); Class<TelephonyManager> c = TelephonyManager.class; Method mthAnswerCall; try { mthAnswerCall = c.getDeclaredMethod("getITelephony", (Class[]) null); mthAnswerCall.setAccessible(true); ITelephony iTel = (ITelephony) mthAnswerCall.invoke(telMag, (Object[]) null); iTel.answerRingingCall(); } catch (Exception e) { e.printStackTrace(); }*/ if (isSpeakon) { try { Thread.sleep(500); } catch (InterruptedException e) { Constants.log("speakerset", "Problem while sleeping"); } Constants.log("speakerset", "AudioManager answer mode:" + audioManager.getMode() + " speaker mod:" + String.valueOf(audioManager.isSpeakerphoneOn())); while (audioManager.getMode() != AudioManager.MODE_IN_CALL) { try { Thread.sleep(300); } catch (InterruptedException e) { Constants.log("speakerset", "Problem while sleeping"); } } // audioManager.setMicrophoneMute(true); audioManager.setSpeakerphoneOn(true); // audioManager.setMode(AudioManager.MODE_IN_CALL); Constants.log("speakerset", String.format("AudioManager set mode:%d speaker mod:%s", audioManager.getMode(), String.valueOf(audioManager.isSpeakerphoneOn()))); } } else { Constants.log("speakerset", String.format("AudioManager before mode:%d speaker mod:%s", audioManager.getMode(), String.valueOf(audioManager.isSpeakerphoneOn()))); Intent meidaButtonIntent = new Intent(Intent.ACTION_MEDIA_BUTTON); KeyEvent keyEvent = new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_HEADSETHOOK); meidaButtonIntent.putExtra(Intent.EXTRA_KEY_EVENT, keyEvent); context.sendOrderedBroadcast(meidaButtonIntent, "android.permission.CALL_PRIVILEGED"); } }
From source file:com.yangtsaosoftware.pebblemessenger.services.PebbleCenter.java
private void dialNumber(String phoneNumber, boolean isSpeakon) { Context context = getApplicationContext(); AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); Constants.log(TAG_NAME, String.format("Dial phone:%s", phoneNumber)); // ??//from w w w . ja v a 2 s .c o m Intent callIntent = new Intent(Intent.ACTION_CALL); callIntent.setData(Uri.parse(String.format("tel:%s", phoneNumber))); callIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); callIntent.addFlags(Intent.FLAG_FROM_BACKGROUND); startActivity(callIntent); if (!(audioManager.isWiredHeadsetOn() || audioManager.isBluetoothA2dpOn())) { // 4.1??? 4.1??Permission Denial: not allowed to // send broadcast android.intent.action.HEADSET_PLUG from pid=1324, // uid=10017 // ??????android.permission.CALL_PRIVLEGED?????4.1??????????NULL?? Constants.log("speakerset", String.format("AudioManager before mode:%d speaker mod:%s", audioManager.getMode(), String.valueOf(audioManager.isSpeakerphoneOn()))); if (isSpeakon) { try { Thread.sleep(500); } catch (InterruptedException e) { Constants.log("speakerset", "Problem while sleeping"); } Constants.log("speakerset", String.format("AudioManager answer mode:%d speaker mod:%s", audioManager.getMode(), String.valueOf(audioManager.isSpeakerphoneOn()))); while (audioManager.getMode() != AudioManager.MODE_IN_CALL) { try { Thread.sleep(300); } catch (InterruptedException e) { Constants.log("speakerset", "Problem while sleeping"); } } // audioManager.setMicrophoneMute(true); audioManager.setSpeakerphoneOn(true); // audioManager.setMode(AudioManager.MODE_IN_CALL); Constants.log("speakerset", String.format("AudioManager set mode:%d speaker mod:%s", audioManager.getMode(), String.valueOf(audioManager.isSpeakerphoneOn()))); } } }