android 类似微信的摇一摇功能实现思路及代码

 更新时间:2013年01月20日 11:12:30   作者:  
微信的摇一摇功能的出现,让彼此之间的距离有近了一步,本文也想实现以下微信的摇一摇功能,感兴趣的朋友可以了解下啊,希望本人对你有所帮助
复制代码 代码如下:

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();
}
}

相关文章

  • android事件总线EventBus3.0使用方法详解

    android事件总线EventBus3.0使用方法详解

    这篇文章主要为大家详细介绍了android事件总线EventBus3.0使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • Android实现倾斜角标样式

    Android实现倾斜角标样式

    最新小编接到这样一个项目,需要在一个距形卡片上做一个倾斜的Tag,类似支付宝上的一个功能,接着小编给大家带来了实现思路,对android 倾斜角标的实现方法感兴趣的朋友跟随小编一起看看吧
    2019-10-10
  • Android自定View流式布局根据文字数量换行

    Android自定View流式布局根据文字数量换行

    这篇文章主要为大家详细介绍了Android自定View流式布局,根据文字数量换行,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • Android 用RxBinding与RxJava2实现短信验证码倒计时功能

    Android 用RxBinding与RxJava2实现短信验证码倒计时功能

    这篇文章主要介绍了Android 用RxBinding与RxJava2实现短信倒计时功能示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • android studio按钮监听的5种方法实例详解

    android studio按钮监听的5种方法实例详解

    这篇文章主要介绍了android studio按钮监听的5种方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • Flutter Recovering Stream Errors小技巧

    Flutter Recovering Stream Errors小技巧

    这篇文章主要为大家介绍了Flutter Recovering Stream Errors小技巧,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • Android判断是否为飞行模式简单方法

    Android判断是否为飞行模式简单方法

    这篇文章主要介绍了Android判断是否为飞行模式简单方法,本文使用最简单的方法实现判断是否为飞行模式,需要的朋友可以参考下
    2015-04-04
  • Android基于Flutter编写文件下载管理器

    Android基于Flutter编写文件下载管理器

    文件下载在很多类型的应用中会涉及,例如音乐、文档、包括图片(只是图片可以使用一些组件完成无感知的下载)。本篇介绍使用Flutter中的Dio下载方法完成文件的下载,需要的可以参考一下
    2022-03-03
  • Android中vim编辑器进阶的使用介绍

    Android中vim编辑器进阶的使用介绍

    本篇文章介绍了,在Android中vim编辑器进阶的使用。需要的朋友参考下
    2013-04-04
  • Android 背景透明度设置总结

    Android 背景透明度设置总结

    这篇文章主要介绍了Android 背景透明度设置总结,本文通过实例代码给大家介绍的非常详细,感兴趣的的朋友参考下吧
    2017-06-06

最新评论