在下面的实例中,演示了使用RingtoneManager设置手机铃声的方法。本实例的功能是当手机背面朝上时自动启动震动模式。通过Android系统中的API,可以判断手机倾斜、旋转等模式。通过BroadcastReceiver对象来聆听系统广播短信或PhoneState Listener对象,监听系统广播的电话事件等。在Android系统中,Sensor.Manager事件是使用Sensor对象实现的。为了让Activity程序在onCreate()后的第一时间内就能监视手机的朝向状态,所以在onResume()方法中创建IntentFilter,使用方法SensorListener.registerListener()注册一个自定义的SensorListener,在使用onPause()离开程序时取消系统注册SensorListener。
本实例的具体实现流程如下。
(1)在文件example.java中注册SensorListener的registerListener()方法,使Activity程序能够捕捉到Sensor的变化。在捕捉变化时需要传入如下3个参数。
■ mSensorListener:是SensorListener对象,为Activity类成员,通过覆盖方法onSensorChanged()作为判断。
■ SensorManager.SENSOR_ORIENTATION:欲捕捉的Sensor事件常数。
■ SensorManager.SENSOR_DELAY_NORMAL:状态更改的精准度常数。
文件example.java的主要代码如下。
(www.xing528.com)
(2)编写文件AndroidManifest.xml,在此声明Android.permission.VIBRATE权限,主要代码如下。
执行后的效果如图7-5所示,如果将手机反转则会自动进入振动模式
图7-5 执行效果
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。