Android 震动功能

主界面代码:

package com.example.vibrator;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {

	private Button btn_vibrator_0;
	private Button btn_vibrator_1;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		btn_vibrator_0 = (Button) findViewById(R.id.btn_vibrator_0);
		btn_vibrator_1 = (Button) findViewById(R.id.btn_vibrator_1);
		/**
		 * 点击设置默认震动模式,震动100毫秒
		 * */
		btn_vibrator_0.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				//停止震动
				VibratorUtil.VibrateCancel(MainActivity.this);
				VibratorUtil.Vibrate(MainActivity.this,100);   //震动100ms
			}
		});
		/**
		 * 点击设置自定义震动模式,重复震动
		 * */
		btn_vibrator_1.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				//停止震动
				VibratorUtil.VibrateCancel(MainActivity.this);
				//设置震动参数,停50毫秒,震动100毫秒
				long[] prams={50,100,50,100};
				VibratorUtil.Vibrate(MainActivity.this,prams,true);   //震动100ms
			}
		});
	}

	@Override
	protected void onDestroy() {
		// TODO Auto-generated method stub
		super.onDestroy();
		//停止震动
		VibratorUtil.VibrateCancel(MainActivity.this);
	}

}

震动功能模块:

package com.example.vibrator;

import android.app.Activity;
import android.app.Service;
import android.os.Vibrator;

/**
 * 手机震动工具类
 *
 * @author Administrator
 *
 */
public class VibratorUtil {

	/**
	 * final Activity activity :调用该方法的Activity实例
	 * long milliseconds :震动的时长,单位是毫秒
	 */
	public static void Vibrate(final Activity activity, long milliseconds) {
		Vibrator vib = (Vibrator) activity
				.getSystemService(Service.VIBRATOR_SERVICE);
		vib.vibrate(milliseconds);
	}

	/**
	 * final Activity activity :调用该方法的Activity实例
	 * long[] pattern :自定义震动模式。数组中数字的含义依次是[静止时长,震动时长,静止时长,震动时长。。。]时长的单位是毫秒
	 * boolean isRepeat :是否反复震动,如果是true,反复震动,如果是false,只震动一次
	 * */
	public static void Vibrate(final Activity activity, long[] pattern,
			boolean isRepeat) {
		Vibrator vib = (Vibrator) activity
				.getSystemService(Service.VIBRATOR_SERVICE);
		vib.vibrate(pattern, isRepeat ? 1 : -1);
	}
	/**
	 * 停止震动
	 * */
	public static void VibrateCancel(final Activity activity){
		Vibrator vib = (Vibrator) activity
				.getSystemService(Service.VIBRATOR_SERVICE);
		vib.cancel();
	}

}

示例代码地址:http://download.csdn.net/detail/stop_pig/8213105

时间: 2024-10-11 21:11:59

Android 震动功能的相关文章

android 之实现手机震动功能

界面:利用weight属性,能比较好得移植到平板上.      布局代码: <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:la

Delphi xe7 up1 调用android振动功能

Delphi xe7 up1 调用android振动功能 振动用到以下4个单元: Androidapi.JNI.App,Androidapi.JNIBridge,Androidapi.JNI.Os,Androidapi.Helpers 使用方法: var LVibrator: JVibrator; begin LVibrator := TJVibrator.Wrap ((SharedActivity.getSystemService(TJActivity.JavaClass.VIBRATOR_S

Android倒计时功能的实现(CountDownTimer)

以前编程的时候,遇到倒计时的功能时,经常自己去写,但其实Android已经帮封装好了一个倒计时类CountDownTimer,其实是将后台线程的创建和Handler队列封装成为了一个方便的类调用. 说明: CountDownTimer timer = new CountDownTimer(30000, 1000)中,第一个参数表示总时间,第二个参数表示间隔时间. 意思就是每隔一秒会回调一次方法onTick,然后30秒之后会回调onFinish方法. package com.androidcoun

QtAndroid详解(3):startActivity实战Android拍照功能

在"QtAndroid详解(1):QAndroidJniObject"中,我们介绍了 QAndroidJniObject 这个 Qt JNI 的核心类,在""中我们介绍了 startActivity 以及与它配套的一些 Android 背景知识,这次我们来看一个实例,演示如何使用 startActivity 来调用 Android 系统功能,同时也演示 QAndroidJniObject 的常见用法. 实例介绍 先看下实例效果,然后再论. 我们只是演示 API 用法

Android -- 分享功能和打开指定程序

打开指定程序                                                                                Intent intent = new Intent(); ComponentName cmp = new ComponentName("com.sina.weibo","com.sina.weibo.EditActivity"); intent.setAction(Intent.ACTION_M

Android 照相功能

使用内置的Camera 应用程序捕获图像            探索Android 所提供的内置功能,内置的图像捕获与存储功能为Android 上所有媒体功能提供了一个很好的切入点,为我们在以后的章节中处理音频和视频奠定了基础.            现在介绍如何利用内置的Camera(摄像头)应用程序.    package com.example; import java.io.File; import android.app.Activity; import android.content

Android语音识别功能使用总结

Android引入了对语音识别的支持.语音识别主要位于android.speech包中,主要的类包括SpeechRecognizer.RecognitionService.RecognizerIntent.RecognizerResultsIntent.RecognitionListener等类和接口. SpeechRecognizer提供了接入语音识别服务的接口,下面是SpeechRecognizer的常用方法: <span style="font-size:18px;">

安卓应用内计费方案 --Android 计费功能最全面的SDK

安卓应用内计费方案 通常应用计费只有按时长.按流量.按次.包月这几种.这些传统的计费规则已不能满足日益增长的应用内容的需要. 比如阅读.导航.音乐.工具类应用等,由于其本身特性需要多种计费规则.采用下载免费.应用内计费的大原则前提下,应用内计费的多样性将能大大提高付费转化率.因为一款应用从上线到成熟是需要一个过程的,用户从了解到熟悉到原意付费使用也需要一个长期过程.在这个过程中需要多种计费规则来引导用户使用应用.如尝试性的按次收费,包次数收费,免费N次后收费,多种产品打包收费,节假日促销买二送一

Android常用功能代码块

1.设置activity无标题,全屏 // 设置为无标题栏 requestWindowFeature(Window.FEATURE_NO_TITLE); // 设置为全屏模式 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 2.获得屏幕高度和宽度 //获取屏幕的高度和宽度用到WindowManager这个类 WindowMan