Android AudioManager class provides access to various control modes and allows you to easily control your ringer volume and ringer profile. In order to use AndroidManager class, you have to first create an object of AudioManager class by calling the
getSystemService()method. And, you will have to invoke
setRingerMode()
method by passing the type of ringer mode as a parameter.
The syntax is given below:
Ex:
AudioManager manager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
manager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
The following example illustrates how to programmatically set silent, vibrate and ring modes in your application.
First create MainActivity.java under src/<your packagename>.
MainActivity.java:
[java]
public class MainActivity extends Activity {
AudioManager manager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//set activity content to external views
setContentView(R.layout.activity_main);
//find views by Id
Button ring=(Button)findViewById(R.id.button11);
Button silent=(Button)findViewById(R.id.button12);
Button vibrate=(Button)findViewById(R.id.button133);
Button mode=(Button)findViewById(R.id.button14);
manager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
//on click ring
ring.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
manager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
}
});
//on click silent
silent.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
manager.setRingerMode(AudioManager.RINGER_MODE_SILENT);
}
});
//on click vibrate
vibrate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
manager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
}
});
//on click get mode
mode.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
int mode=manager.getRingerMode();
if(mode==AudioManager.RINGER_MODE_NORMAL)
{
Toast.makeText(getApplicationContext(), "Ring Mode", Toast.LENGTH_SHORT).show();
}
else if(mode==AudioManager.RINGER_MODE_SILENT)
{
Toast.makeText(getApplicationContext(), "Silent Mode", Toast.LENGTH_SHORT).show();
}
else
{
Toast.makeText(getApplicationContext(), "Vibrate Mode", Toast.LENGTH_SHORT).show();
}
}
});
}
}
[/java]
Create activity_main.xml under res/layout folder.
activity_main.xml:
[xml]
&lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" &gt;
&lt;TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="15dp"
android:text="AudiManager Example" /&gt;
&lt;Button
android:id="@+id/button11"
android:layout_width="70dp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView1"
android:layout_marginLeft="16dp"
android:background="#009ACD"
android:layout_marginTop="124dp"
android:text="Ring" /&gt;
&lt;Button
android:id="@+id/button12"
android:layout_width="70dp"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/button11"
android:layout_alignBottom="@+id/button11"
android:background="#009ACD"
android:layout_centerHorizontal="true"
android:text="Silent" /&gt;
&lt;Button
android:id="@+id/button14"
android:layout_width="70dp"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/button12"
android:layout_below="@+id/button12"
android:layout_marginTop="31dp"
android:background="#009ACD"
android:text="Get Mode" /&gt;
&lt;Button
android:id="@+id/button133"
android:layout_width="70dp"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/button12"
android:layout_marginRight="19dp"
android:background="#009ACD"
android:text="Vibrate" /&gt;
&lt;/RelativeLayout&gt;
[/xml]
AndroidManifest.xml:
[xml]
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.spl.myproject"
android:versionCode="1"
android:versionName="1.0" &gt;
&lt;uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="16" /&gt;
&lt;application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" &gt;
&lt;activity
android:name="com.spl.myproject.MainActivity"
android:label="@string/app_name" &gt;
&lt;intent-filter&gt;
&lt;action android:name="android.intent.action.MAIN" /&gt;
&lt;category android:name="android.intent.category.LAUNCHER" /&gt;
&lt;/intent-filter&gt;
&lt;/activity&gt;
&lt;/application&gt;
&lt;/manifest&gt;
[/xml]
Output: