2011年4月1日星期五

更改鈴聲模式, AudioManager.setRingerMode()

本文介紹如何通過 AudioManager.setRingerMode() 方法更改鈴聲模式.

更改鈴聲模式

package com.AndroidRinger;

import android.app.Activity;
import android.media.AudioManager;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class AndroidRinger extends Activity {

private AudioManager audioManager;
TextView textRingerState;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button buttonRinger = (Button)findViewById(R.id.buttonringer);
textRingerState = (TextView)findViewById(R.id.textringerstate);

audioManager = (AudioManager)getSystemService(AUDIO_SERVICE);

buttonRinger.setOnClickListener(new Button.OnClickListener(){

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
int ringerMode = audioManager.getRingerMode();
if(ringerMode == AudioManager.RINGER_MODE_SILENT){
audioManager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
}else if (ringerMode == AudioManager.RINGER_MODE_VIBRATE){
audioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
}else{
audioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);
}

displayRingMode();
}});
}

@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
displayRingMode();
}

private void displayRingMode(){
int ringerMode = audioManager.getRingerMode();
if(ringerMode == AudioManager.RINGER_MODE_SILENT){
textRingerState.setText("Ringer is Silent");
}else if (ringerMode == AudioManager.RINGER_MODE_VIBRATE){
textRingerState.setText("Ringer is Vibrate");
}else{
textRingerState.setText("Ringer is Normal");
}
}
}


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<Button
android:id="@+id/buttonringer"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Change Ringer Mode"
/>
<TextView
android:id="@+id/textringerstate"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>


相關文章:
- 利用 AudioManager.getStreamVolume() 調整鈴聲音量

沒有留言:

發佈留言