`
苹果超人
  • 浏览: 200243 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Vibrator

阅读更多
  设置手机震动,首先要在配置文件中添加权限:
<uses-permission android:name="android.permission.VIBRATE"/>

  其次取得Vibrator对象。
vibrator = (Vibrator)getApplication().getSystemService(Service.VIBRATOR_SERVICE);

  代码很简单,相关讲解看代码注释就成。
package com.kevin.vibrator;

import android.app.Activity;
import android.app.Service;
import android.os.Bundle;
import android.os.Vibrator;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Toast;
import android.widget.ToggleButton;

public class Main extends Activity {
	private Vibrator vibrator;
	private ToggleButton tb_short,tb_long,tb_tune;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        // 取得Vibrator对象
        vibrator = (Vibrator)getApplication().getSystemService(Service.VIBRATOR_SERVICE);
        tb_short = (ToggleButton) findViewById(R.id.tb_short);
        tb_long = (ToggleButton) findViewById(R.id.tb_long);
        tb_tune = (ToggleButton) findViewById(R.id.tb_tune);
        tb_short.setOnClickListener(new ToggleButtonOnClickListener());
        tb_long.setOnClickListener(new ToggleButtonOnClickListener());
        tb_tune.setOnClickListener(new ToggleButtonOnClickListener());
    }
    class ToggleButtonOnClickListener implements OnClickListener{

		@Override
		public void onClick(View v) {
			ToggleButton tb = (ToggleButton)v;
			switch (tb.getId()) {
			case R.id.tb_short:
			{
				if (tb.isChecked()) {
					// 设置震动周期
					/*
					 * 第一个参数是个长整型的时间数组,数组中第一个值表示在vibrator
					 * 打开前等待的毫秒数,接下来的值表示vibrator关闭前等待的毫秒数,
					 * 以此类推。
					 * 第二个参数是设置震动的模式,-1的话,只震动一轮,0的话震动一直持续
					 */
					vibrator.vibrate(new long[]{100,10,100,1000}, -1);
					Toast.makeText(Main.this, getString(R.string.processing), Toast.LENGTH_SHORT).show();
				}else{
					// 取消震动
					vibrator.cancel();
					Toast.makeText(Main.this, getString(R.string.cancel), Toast.LENGTH_SHORT).show();
				}			
				break;
			}
			case R.id.tb_long:
			{
				if (tb.isChecked()) {
					// 设置震动周期
					vibrator.vibrate(new long[]{100,100,100,1000}, 0);
					Toast.makeText(Main.this, getString(R.string.processing), Toast.LENGTH_SHORT).show();
				}else{
					// 取消震动
					vibrator.cancel();
					Toast.makeText(Main.this, getString(R.string.cancel), Toast.LENGTH_SHORT).show();
				}	
				break;
			}
			case R.id.tb_tune:
			{
				if (tb.isChecked()) {
					// 设置震动周期
					vibrator.vibrate(new long[]{1000,50,1000,50,1000}, 0);
					Toast.makeText(Main.this, getString(R.string.processing), Toast.LENGTH_SHORT).show();
				}else{
					// 取消震动
					vibrator.cancel();
					Toast.makeText(Main.this, getString(R.string.cancel), Toast.LENGTH_SHORT).show();
				}	
			}
				break;
			default:
				break;
			}
		}
    }
}
分享到:
评论

相关推荐

    Android vibrator方法关闭和打开振动功能.rar

    Android vibrator方法关闭和打开振动功能,通过Android vibrator方法设置不同的参数,来关闭和打开手机振动功能:  ToggleButton tb2 = (ToggleButton)findViewById(R.id.tb2); //获得ToggleButton对象  tb2....

    android Vibrator 仿微信摇一摇

    在Android开发中,实现“微信摇一摇”功能是一个相当有趣的互动体验,它结合了设备的传感器技术,尤其是重力感应器(Gravity Sensor),以及Vibrator服务来模拟真实世界中的摇晃动作。这个功能通常用于游戏、抽奖...

    Android应用源码-实现Vibrator测试功能,短震动,长震动,频率震动,取消震动.zip

    在Android开发中,Vibrator类是用于实现设备振动功能的核心组件。这个压缩包"Android应用源码-实现Vibrator测试功能,短震动,长震动,频率震动,取消震动.zip"包含了一个示例应用,它详细展示了如何利用Vibrator类的...

    Vibrator.zip

    在Android系统中,`Vibrator`是一个非常重要的组件,它允许应用实现设备的震动功能。在标题"Vibrator.zip"中,我们可以推测这个压缩包可能包含了一些关于如何在Android应用程序中使用`Vibrator`服务的代码示例或者...

    vibrator_vibration_Kernel_android源码_

    振动器(Vibrator)在Android系统中扮演着重要的角色,为用户提供触觉反馈。这篇讨论主要围绕Android内核中的vibration驱动程序,以及如何通过kernel层实现与Android Hal层的交互,来控制设备的震动功能。我们将深入...

    Vibrator控制手机震动的Demo

    在Android系统中,`Vibrator`类是用于控制设备震动的核心接口。这个Demo展示了如何使用`Vibrator`来实现手机的震动效果。在移动应用开发中,震动功能常常被用作用户反馈,例如在游戏中提示玩家或者在接收通知时提供...

    安卓摇一摇传感器相关-Vibrator手机震动服务-小小程序员-博客频道-CSDN.pdf

    安卓摇一摇传感器相关-Vibrator手机震动服务 在安卓开发中,Vibrator(震动器)是手机上一个常见的硬件功能,它允许应用程序在特定情况下通过震动来提醒用户。Vibrator服务属于Android框架的一部分,可以通过调用...

    振动器Vibrator

    protected void onCreate(Bundle savedInstanceState) { super.onCreate... vibrator = (Vibrator) getSystemService(Service.VIBRATOR_SERVICE); //控制手机震动1秒 vibrator.vibrate(1000); } }

    Vibrator_android_

    在Android操作系统中,实现手机震动功能主要涉及到`Vibrator`类的使用,它是Android SDK提供的一种接口,允许应用程序控制设备的震动。以下是对这个主题的详细解析: 首先,我们需要了解`Vibrator`类的基本概念。它...

    Windows Phone 7 - Vibrator demo code

    2. **获取`Vibrator`实例**:Windows Phone 7系统提供了一个全局的`Vibrator`实例,可以通过静态方法`Vibrator.Default`获取。 ```csharp Vibrator vibe = Vibrator.Default; ``` 3. **启动振动**:使用`Vibrate`...

    android 手机震动的节奏 Vibrator

    在Android系统中,`Vibrator`类是用于控制设备振动的核心接口,允许应用程序触发设备的物理震动效果。本文将深入探讨如何使用`Vibrator`来实现Android手机的节奏性震动,以及相关的编程知识点。 首先,我们需要了解...

    Android Vibrator手机震动服务实现文档.rar

    在Android平台上,Vibrator服务是系统提供的一种功能,允许应用程序控制设备的震动。这个服务对于创建具有触觉反馈的应用程序非常关键,例如游戏、通知提醒或者其他需要用户感知的交互场景。下面将详细介绍如何在...

    android震动(vibrator)系统开发全过程.docx

    在Android系统中,震动功能是通过Vibrator服务来实现的,该服务允许应用程序控制设备的震动硬件。本文将深入探讨Android震动系统开发的全过程,包括Linux内核、硬件抽象层(HAL)以及Java Native Interface(JNI)层的...

    安卓开发-Vibrator手机震动服务 - 小小程序员 - 博客频道 - CSDN.zip

    在Android开发中,Vibrator服务是一个非常实用的功能,它允许应用程序控制设备的震动反馈。这篇博客文章,"安卓开发-Vibrator手机震动服务 - 小小程序员 - 博客频道 - CSDN"深入探讨了如何在Android应用中实现手机...

    Android入门教程之Vibrator(振动器)

    在Android开发中,Vibrator(振动器)是一个重要的硬件组件,它允许开发者通过编程方式控制设备的震动。在收到推送消息或其他特定事件时,可以利用振动器为用户提供触觉反馈。本节教程将详细介绍如何在Android应用...

    Android中手机震动的设置(Vibrator)的步骤简要说明

    Vibrator vibrator = (Vibrator)getSystemService(VIBRATOR_SERVICE); ``` 这样就获得了对手机震动服务的访问权限。 2. **检测硬件支持**: 在使用Vibrator服务之前,应该检查设备是否具备震动硬件。`...

    Android Vibrator调节震动代码实例

    在Android平台上,`Vibrator`类是用于控制设备震动的核心组件。这个类允许应用程序产生不同程度和模式的震动效果,提供了一种与用户交互的新方式,特别是在无声或静音模式下。下面我们将详细讨论如何使用`Vibrator`...

Global site tag (gtag.js) - Google Analytics