修改 MainActivity.java 实现逻辑

package cn.twle.android.vibrator;

import android.app.Service;

import android.content.Context;

import android.os.Vibrator;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.Toast;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

private Button btn_hasVibrator;

private Button btn_short;

private Button btn_long;

private Button btn_rhythm;

private Button btn_cancle;

private Vibrator myVibrator;

private Context mContext;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

//获得系统的Vibrator实例:

myVibrator = (Vibrator) getSystemService(Service.VIBRATOR_SERVICE);

mContext = MainActivity.this;

bindViews();

}

private void bindViews() {

btn_hasVibrator = (Button) findViewById(R.id.btn_hasVibrator);

btn_short = (Button) findViewById(R.id.btn_short);

btn_long = (Button) findViewById(R.id.btn_long);

btn_rhythm = (Button) findViewById(R.id.btn_rhythm);

btn_cancle = (Button) findViewById(R.id.btn_cancle);

btn_hasVibrator.setOnClickListener(this);

btn_short.setOnClickListener(this);

btn_long.setOnClickListener(this);

btn_rhythm.setOnClickListener(this);

btn_cancle.setOnClickListener(this);

}

@Override

public void onClick(View v) {

switch (v.getId()) {

case R.id.btn_hasVibrator:

Toast.makeText(mContext, myVibrator.hasVibrator() ? "当前设备有振动器" : "当前设备无振动器",

Toast.LENGTH_SHORT).show();

break;

case R.id.btn_short:

myVibrator.cancel();

myVibrator.vibrate(new long[]{100, 200, 100, 200}, 0);

Toast.makeText(mContext, "短振动", Toast.LENGTH_SHORT).show();

break;

case R.id.btn_long:

myVibrator.cancel();

myVibrator.vibrate(new long[]{100, 100, 100, 1000}, 0);

Toast.makeText(mContext, "长振动", Toast.LENGTH_SHORT).show();

break;

case R.id.btn_rhythm:

myVibrator.cancel();

myVibrator.vibrate(new long[]{500, 100, 500, 100, 500, 100}, 0);

Toast.makeText(mContext, "节奏振动", Toast.LENGTH_SHORT).show();

break;

case R.id.btn_cancle:

myVibrator.cancel();

Toast.makeText(mContext, "取消振动", Toast.LENGTH_SHORT).show();

}

}

}

android vibrator,Android Vibrator 振动器相关推荐

  1. Android Manager之Vibrator(振动器)

    1.简介 Vibrator(振动器),是手机自带的振动器,是Android给我们提供的用于机身震动的一个服务. 比如当手机收到推送消息的时候我们可以设置震动 提醒.再或者登录页面功能时,用户输入密码或 ...

  2. android vibrator,Android入门教程之Vibrator(振动器)

    前言: Vibrator简介: 下面我们就来写个简单的例子,来熟悉下这个Vibrator的用法! 1.获得Vibrator实例: Vibrator vb = (Vibrator)getSystemSe ...

  3. android之android.intent.category.DEFAULT的用途和使用

    1.要弄清楚这个问题,首先需要弄明白什么是implicit(隐藏) intent什么是explicit(明确) intent. Explicit Intent明确的指定了要启动的Acitivity , ...

  4. android:layout_with=,android – 难以理解layout_alignWithParentIfMissing

    这仅适用于使用RelativeLayout时. 如果您将元素设置为一个其他元素,则表示该元素位于该元素的左侧. 但是如果这个元素会丢失,因为你删除它,例如它将与父对齐. 举个例子 android:la ...

  5. [Android Studio] Android Studio常用快捷键

    [Android Studio] Android Studio常用快捷键 (会持续更新)这边讲的常用快捷键是指做完Keymap到Eclipse后的,不是纯Android Studio的,这边主要讲下比 ...

  6. Android利用android:indeterminateDrawable来实现ProgressBar三种方式

    方式1:(效果为补间动画一样) [html] view plaincopyprint? <ProgressBar android:layout_width="wrap_content& ...

  7. Android之Android实现浮层的上下滑动(支持内部添加View)

    前言 我K,今天居然是情人节,对于资深的单身狗来说,简直是个噩耗,今天注定是各种秀恩爱,心塞中.... 话题到此结束,管他什么情人节,今天给大家带来的是一个浮层的上下滑动,浮层滑动时分三种状态:全部显 ...

  8. Android 解决Android的TextView和EditText换行问题

    Android 解决Android的TextView和EditText换行问题 参考文章: (1)Android 解决Android的TextView和EditText换行问题 (2)https:// ...

  9. Xamarin Android教程Android基本知识版本介绍与系统介绍

    Xamarin Android教程Android基本知识版本介绍与系统介绍 Xamarin Android教程Android基本知识版本介绍与系统介绍,开发Andriod有时候不像iOS一样轻松,因为 ...

  10. 【Android】Android 设置Activity窗体 不显示标题和全屏显示

    [一]Android 设置Activity窗体 不显示标题 android:theme="@android:style/Theme.NoTitleBar" 1 <activi ...

最新文章

  1. MySQL utf8mb4与emoji表情
  2. phpmyadmin 批量导出多个数据库
  3. 【Java 并发编程】线程池机制 ( 线程池阻塞队列 | 线程池拒绝策略 | 使用 ThreadPoolExecutor 自定义线程池参数 )
  4. 【排序算法】计数排序
  5. 尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。...
  6. Java获取数据类型
  7. BootStrap FileInput 插件实现多文件上传前端功能
  8. chmod命令用法linux,Linux下chmod命令详细介绍及用法举例
  9. 微信读书 《围城》笔记
  10. (CVPR-2020)Strip Pooling:重新思考场景解析的空间池化
  11. deepin创建快捷方式图标
  12. python股票网格交易法详解_详解网格交易法
  13. python爬取某站上海租房图片
  14. R语言文本挖掘相关包介绍
  15. 我们能用计算机做什么英语作文,关于计算机工作的英文作文
  16. 92.【SpringCloud NetFilx】
  17. unity的vr场景怎么做_如何通过Unity快速创建1:1VR场景 不到一小时就可完成制作 - VR之家...
  18. C# 调用高德地图API获取经纬度以及定位,JS获取定位【万字详解附完整代码】
  19. IJCAI 2023截稿时间、投稿网址
  20. “AI助力计划”上线,3D点云等标注工具1折起

热门文章

  1. 那些藏在wordpress中的工具
  2. 正则限制input框只能输入数字,英文等
  3. 「学习笔记」HTML5CSS3提高6(上)
  4. Spring Cloud eureka服务搭建
  5. tp实现文件下载,以及下载图片,报错无法打开图片
  6. Mac 命令行方式解压设置密码的ZIP
  7. 计算机基础-计算机性能如何定量评估
  8. 应用B站雷哥的在Centos7上安装fastdfs
  9. 进销存设计与分析_采购退货单(3)
  10. 工作一年,想回校读博了