package com.yarin.android.RingProfile;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.media.AudioManager;
import android.util.Log;
public class RingBroadcastReceiver extends BroadcastReceiver
{
private static final String TAG = "RingBroadcastReceiver";
public static final String VIBRATE_CHANGED = "com.yarin.android.RingProfile.VIBRATE_CHANGED";
public static final String SILENT_CHANGED = "com.yarin.android.RingProfile.SILENT_CHANGED";
public static final String RV_CHANGED = "com.yarin.android.RingProfile.RV_CHANGED";
public static final String RING_CHANGED = "com.yarin.android.RingProfile.RING_CHANGED";
public static final int REQUEST_CODE = 0;
@Override
public void onReceive(Context context, Intent intent)
{
AudioManager audio = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
int checkedId = intent.getIntExtra("checkedId", 0);
Log.e(TAG, checkedId + intent.getAction());
// �л��龰ģʽ
switch (checkedId)
{
case R.id.ring_and_vibrate01:
case R.id.ring_and_vibrate02:
ringAndVibrate(audio);
break;
case R.id.vibrate01:
case R.id.vibrate02:
vibrate(audio);
break;
case R.id.silent01:
case R.id.silent02:
silent(audio);
break;
default:
ring(audio);
break;
}
}
// ��������
protected void ringAndVibrate(AudioManager audio)
{
audio.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER, AudioManager.VIBRATE_SETTING_ON);
audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_NOTIFICATION, AudioManager.VIBRATE_SETTING_ON);
}
// ����
protected void ring(AudioManager audio)
{
audio.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER, AudioManager.VIBRATE_SETTING_OFF);
audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_NOTIFICATION, AudioManager.VIBRATE_SETTING_OFF);
}
// ��
protected void vibrate(AudioManager audio)
{
audio.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER, AudioManager.VIBRATE_SETTING_ON);
audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_NOTIFICATION, AudioManager.VIBRATE_SETTING_ON);
}
// ����
protected void silent(AudioManager audio)
{
audio.setRingerMode(AudioManager.RINGER_MODE_SILENT);
audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER, AudioManager.VIBRATE_SETTING_OFF);
audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_NOTIFICATION, AudioManager.VIBRATE_SETTING_OFF);
}
}