package irdc.ex06_12;
import android.app.Activity;
import android.content.Context;
import android.hardware.SensorListener;
import android.hardware.SensorManager;
import android.media.AudioManager;
import android.os.Bundle;
import android.widget.TextView;
public class irdc extends Activity
{
private SensorManager mSensorManager01;
private TextView mTextView01;
private int strRingerMode;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mTextView01 = (TextView)findViewById(R.id.myTextView1);
mSensorManager01 = (SensorManager)getSystemService(Context.SENSOR_SERVICE);
GetAudioManagerMode();
switch(strRingerMode)
{
case AudioManager.RINGER_MODE_NORMAL:
mTextView01.setText(R.string.str_normal_mode);
break;
case AudioManager.RINGER_MODE_SILENT:
mTextView01.setText(R.string.str_silent_mode);
break;
case AudioManager.RINGER_MODE_VIBRATE:
mTextView01.setText(R.string.str_vibrate_mode);
break;
}
}
private final SensorListener mSensorListener =
new SensorListener()
{
@Override
public void onSensorChanged(int sensor, float[] values)
{
// TODO Auto-generated method stub
//float fRollAngle = values[SensorManager.DATA_X];
float fPitchAngle = values[SensorManager.DATA_Y];
if(fPitchAngle<-120)
{
ChangeToSilentMode();
ChangeToVibrateMode();
switch(strRingerMode)
{
case AudioManager.RINGER_MODE_NORMAL:
mTextView01.setText(R.string.str_normal_mode);
break;
case AudioManager.RINGER_MODE_SILENT:
mTextView01.setText(R.string.str_silent_mode);
break;
case AudioManager.RINGER_MODE_VIBRATE:
mTextView01.setText(R.string.str_vibrate_mode);
break;
}
}
else
{
ChangeToNormalMode();
switch(strRingerMode)
{
case AudioManager.RINGER_MODE_NORMAL:
mTextView01.setText(R.string.str_normal_mode);
break;
case AudioManager.RINGER_MODE_SILENT:
mTextView01.setText(R.string.str_silent_mode);
break;
case AudioManager.RINGER_MODE_VIBRATE:
mTextView01.setText(R.string.str_vibrate_mode);
break;
}
}
}
@Override
public void onAccuracyChanged(int sensor, int values)
{
// TODO Auto-generated method stub
}
};
private void GetAudioManagerMode()
{
try
{
AudioManager audioManager =
(AudioManager)getSystemService(Context.AUDIO_SERVICE);
if (audioManager != null)
{
strRingerMode = audioManager.getRingerMode();
}
}
catch(Exception e)
{
mTextView01.setText(e.toString());
e.printStackTrace();
}
}
private void ChangeToSilentMode()
{
try
{
AudioManager audioManager =
(AudioManager)getSystemService(Context.AUDIO_SERVICE);
if (audioManager != null)
{
audioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);
strRingerMode = audioManager.getRingerMode();
}
}
catch(Exception e)
{
mTextView01.setText(e.toString());
e.printStackTrace();
}
}
private void ChangeToVibrateMode()
{
try
{
AudioManager audioManager =
(AudioManager)getSystemService(Context.AUDIO_SERVICE);
if (audioManager != null)
{
audioManager.setRingerMode
(
AudioManager.RINGER_MODE_VIBRATE
);
strRingerMode = audioManager.getRingerMode();
}
}
catch(Exception e)
{
mTextView01.setText(e.toString());
e.printStackTrace();
}
}
private void ChangeToNormalMode()
{
try
{
AudioManager audioManager =
(AudioManager)getSystemService(Context.AUDIO_SERVICE);
if (audioManager != null)
{
audioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
strRingerMode = audioManager.getRingerMode();
}
}
catch(Exception e)
{
mTextView01.setText(e.toString());
e.printStackTrace();
}
}
@Override
protected void onResume()
{
// TODO Auto-generated method stub
mSensorManager01.registerListener
(
mSensorListener,
SensorManager.SENSOR_ORIENTATION,
SensorManager.SENSOR_DELAY_NORMAL
);
super.onResume();
}
@Override
protected void onPause()
{
// TODO Auto-generated method stub
mSensorManager01.unregisterListener(mSensorListener);
super.onPause();
}
}
Android 翻转手机即换静音或震动
4星 · 超过85%的资源 需积分: 15 29 浏览量
2010-06-13
22:19:46
上传
评论
收藏 112KB RAR 举报
liaomengXDU
- 粉丝: 0
- 资源: 3
最新资源
- 80632180.jpg
- 李旭国体注入追踪[5.0](1).zip
- semantic.c
- C语言基础-C语言编程基础之Leetcode编程题解之第39题组合总和.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第38题外观数列.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第37题解数独.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第36题有效的数独.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第35题搜索插入位置.zip
- index.wxml
- C语言基础-C语言编程基础之Leetcode编程题解之第33题搜索旋转排序数组.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
前往页