一、Android的震动实现——Vibrator类
在开发过程中,需要实现震动,网上有好些例子,这里就不阐述了,直接上code.

一定要在AndroidManifest.xml增加权限;

<uses-permission android:name="android.permission.VIBRATE" />

获取Vibrator实例;

vibrator = (Vibrator) VibrateActivity.this.getSystemService(VibrateActivity.VIBRATOR_SERVICE);

3)使用的相关方法:

//这里示例的代码是使用点击按钮的时候可以实现震动,在按钮的点击事件的函数中添加这样几句话        //vibrator.vibrate(1000);        /*这里使用的是一个长整型数组,数组的a[0]表示静止的时间,a[1]代表的是震动的时间,然后数组的a[2]表示静止的时间,         * a[3]代表的是震动的时间……依次类推下去,然后这里的代码有一点小小的改变         */        long[] patter = {1000, 1000, 2000, 50};        vibrator.vibrate(patter, 0);

4)关闭震动:

vibrator.cancel();

二、下面还有一中方式,通过反射方式直接获取VibrationEffect对象中的VibrationEffect get(int effectId, boolean fallback),也比较简单,直接上code;
1)获取Vibrator对象:

private static final AudioAttributes STATUS_BAR_VIBRATION_ATTRIBUTES =            new AudioAttributes.Builder()                    .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)                    .setUsage(AudioAttributes.USAGE_ASSISTANCE_SONIFICATION)                    .build();                    mVibrator = getApplicationContext().getSystemService(Vibrator.class);

2.通过反射方式实现震动:

//通过参数传入effectId值(0或1)和fallback(true和fasle)true,实现震动;public void vibrate(final int effectId, final boolean fallback) {        try {            //获取Clase对象,及方法名称和参数new Class[]{参数分辨对应的是方法参数如get(int a,boolean b)}            className = Class.forName("android.os.VibrationEffect");            methodName = className.getDeclaredMethod("get", new Class[]{int.class, boolean.class});            //cl.invoke(null, 0,false)执行改方法(参数1 对象,参数2 int,参数3 boolean);            mVibrator.vibrate((VibrationEffect) methodName.invoke(className, effectId, fallback),                    STATUS_BAR_VIBRATION_ATTRIBUTES);        } catch (Exception e) {            e.printStackTrace();        }    }

更多相关文章

  1. Android -- android activity 各种布局方式以及相关参数
  2. 动态修改Android参数信息的方法绕过改机检测
  3. android 如何优雅地给Activity和Fragement传入参数
  4. Android中系统设置参数改变监听(以时间同步为例)
  5. android获取系统当前年月日时分秒的时间
  6. 编程回忆之Android回忆(Android应用参数的获取)
  7. android 参数 加密,解密 参数提交,数据返回
  8. Android Camera中参数设置
  9. Android视频播放项目总结之 使用Android中的videoView自己定义,暂

随机推荐

  1. 手写功能,撤回上一步,清空,保存 功能
  2. 《Android系统学习》之JAVA与C混合编程—
  3. Android(安卓)Calendar的学习与运用【转
  4. Android——自定义顶部标题栏
  5. android双待手机获取每一张SIM卡的imei
  6. Android音频焦点处理服务
  7. 访问http资源之HttpUrlConnection get、p
  8. Android(安卓)Gradle Plugin + BuildTool
  9. 使用自己的数据库SQLite database
  10. RecyclerView优雅添加HeaderView FooterV