本来说让手机水平的时候,变为静音,否则有调回原有响铃模式。但是现在变为静音后变不回来了,不知道为啥。package com.example.test;import android.media.AudioManager;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.view.Menu;public class MainActivity extends Activity { private SensorManager sensorMgr=null;
private float x, y, z;
private int originalRingMode = -1;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
sensorMgr = (SensorManager) getSystemService(SENSOR_SERVICE);
Sensor sensor = sensorMgr.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
final AudioManager audiomanager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
originalRingMode = audiomanager.getRingerMode();
SensorEventListener lsn = new SensorEventListener() {
public void onSensorChanged(SensorEvent e) {
x = e.values[SensorManager.DATA_X];
y = e.values[SensorManager.DATA_Y];
z = e.values[SensorManager.DATA_Z];
setTitle("x="+ x +","+"y="+(int)y+","+"z="+(int)z); if((int)z == 9 || (int)z == 10 )
//此处大家可以无视,因为手机有时候不太水平,所以z== 9 或 10
audiomanager.setRingerMode(AudioManager.RINGER_MODE_SILENT);
else
{
audiomanager.setRingerMode(originalRingMode);
}
}
public void onAccuracyChanged(Sensor s, int accuracy) {
}
};
//注册listener,第三个参数是检测的精确度
sensorMgr.registerListener(lsn, sensor,
SensorManager.SENSOR_DELAY_GAME);
} @Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.view.Menu;public class MainActivity extends Activity { private SensorManager sensorMgr=null;
private float x, y, z;
private int originalRingMode = -1;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
sensorMgr = (SensorManager) getSystemService(SENSOR_SERVICE);
Sensor sensor = sensorMgr.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
final AudioManager audiomanager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
originalRingMode = audiomanager.getRingerMode();
SensorEventListener lsn = new SensorEventListener() {
public void onSensorChanged(SensorEvent e) {
x = e.values[SensorManager.DATA_X];
y = e.values[SensorManager.DATA_Y];
z = e.values[SensorManager.DATA_Z];
setTitle("x="+ x +","+"y="+(int)y+","+"z="+(int)z); if((int)z == 9 || (int)z == 10 )
//此处大家可以无视,因为手机有时候不太水平,所以z== 9 或 10
audiomanager.setRingerMode(AudioManager.RINGER_MODE_SILENT);
else
{
audiomanager.setRingerMode(originalRingMode);
}
}
public void onAccuracyChanged(Sensor s, int accuracy) {
}
};
//注册listener,第三个参数是检测的精确度
sensorMgr.registerListener(lsn, sensor,
SensorManager.SENSOR_DELAY_GAME);
} @Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货