android 类似微信的摇一摇实现
2013-10-09 08:57
615 查看
一、在 AndroidManifest.xml 中添加操作权限
二、代码如下:
<uses-permission android:name="android.permission.VIBRATE"/>
二、代码如下:
package com.eboy.testyaoyiyao; import java.text.SimpleDateFormat; import java.util.Date; import android.app.Activity; import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import android.hardware.SensorManager; import android.os.Bundle; import android.os.Vibrator; import android.view.Menu; import android.widget.TextView; public class MainActivity extends Activity implements SensorEventListener { //Sensor管理器 private SensorManager mSensorManager = null; //震动 private Vibrator mVibrator = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE); mVibrator = (Vibrator)getSystemService(VIBRATOR_SERVICE); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; } public void onAccuracyChanged(Sensor arg0, int arg1) { // TODO Auto-generated method stub } public void onSensorChanged(SensorEvent arg0) { // TODO Auto-generated method stub int sensorType = arg0.sensor.getType(); float[] values = arg0.values; if (sensorType == Sensor.TYPE_ACCELEROMETER){ if (Math.abs(values[0]) > 14 || Math.abs(values[1]) > 14 || Math.abs(values[2]) > 14){ mVibrator.vibrate(100); TextView tv1 = (TextView)findViewById(R.id.textView1); SimpleDateFormat f=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss E"); tv1.setText(f.format(new Date()) + "手机摇动了..."); } } } @Override protected void onResume() { // TODO Auto-generated method stub super.onResume(); mSensorManager.registerListener(this, mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_NORMAL); } @Override protected void onStop() { // TODO Auto-generated method stub mSensorManager.unregisterListener(this); super.onStop(); } @Override protected void onPause() { // TODO Auto-generated method stub mSensorManager.unregisterListener(this); super.onPause(); } }
相关文章推荐
- [置顶] 关于产品的一些思考——腾讯之微信
- 微信公众平台关于fakeid和openid的解析
- 关于产品的一些思考——腾讯之微信
- 书上的链表小程序
- 北京交通委:开车发微信刷微博是拥堵原因之一
- 高仿精仿android版微信客户端源码
- 关于日期的java小程序,写的比较粗糙
- toupper函数及一些小程序
- 微信公众平台开发(67)百度百科
- 微信公众平台开发(67)百度百科
- 微信/易信公共平台开发(三):记录用户状态,优化程序结构
- 微信公众平台向特定用户推送消息
- PHP版微信公共平台消息主动推送,突破订阅号一天只能发送一条信息限制
- 小程序代码
- 微信公众平台开发(66)人品计算
- 微信公众平台开发(66)人品计算
- 微信/易信公共平台开发(二):自定义菜单的PHP实现(提供源码)
- 微信/易信公共平台开发(二):自定义菜单的PHP实现(提供源码)
- 微信/易信公共平台开发(一):开发了一个简单易用的PHP类(提供源码),十几行代码搞定一个公众号
- 两个有意思的递归小程序