android.os.Vibrator类震动服务 的使用 android 震动

机构android.os.Vibrator
具体的方法如下
方法类型描述
public voidcancel()普通取消震动
public booleanhasVibrator()普通判断是否震动
public voidvibrate(long[] pattern, int repeat)普通设置震动周期,如果repeat为-1则不循环震动
public voidvibrate(long milliseconds)普通打开震动

首先启动一个震动服务:
private Vibator vubator =null;
vibator=(Vibrator) super.getApplication().getSystemService(Service.VIBRATOR_SERVICE); // 取得震动服务
然后是设置监听事件;
this.myChronometer.setOnChronometerTickListener(new OnChronometerTickListenerImpl());实现监听方法
private class OnChronometerTickListenerImplimplements OnChronometerTickListener{@Overridepublic void onChronometerTick(Chronometer chronometer){String time =chronometer.getText().toString().replaceAll("[^(\d{2}:\d{2})]", ""); // 取出时间if ("01:00".equals(time)) { // 满一分钟MyChronometerDemo.this.vibrator.vibrate(new long[] { 1000,10,1000, 100}, 0);// 设置震动周期,以及循环震动
————————————————————————————————————————————————————
方法说明:
public void vibrate(long[] pattern, intrepeat)
参数中的long型数组传入:第一个是等待多长事件开始震动,第二个是每次震动多长事件,以毫秒为单位。
intrepeat为重复震动的次数,如果为0则为持续循环,如果为-1则不重复震动。
publicvoid vibrate(long milliseconds)
设置开启震动。
public voidcancel()
取消一个震动操作。
public boolean hasVibrator()
.XML 文件

xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android.os.Vibrator类(震动服务)的使用 android 震动
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >

android:id="@+id/timer"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

.JAVA文件
package com.example.chronometer;

import android.os.Bundle;
import android.os.SystemClock;
import android.os.Vibrator;
import android.app.Activity;
import android.app.Service;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Chronometer;
import android.widget.Chronometer.OnChronometerTickListener;

public class MainActivity extends Activity {
private Button start=null;
private Button stop=null;
private Chronometer timer=null;
private Button restart=null;
private Button format=null;
private Vibrator vibrator = null ;
@Override
protectedvoid onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.activity_main);
this.start=(Button)super.findViewById(R.id.start);
this.stop=(Button)super.findViewById(R.id.stop);
this.timer=(Chronometer)super.findViewById(R.id.timer);
this.start.setOnClickListener(newStartTimer());
this.stop.setOnClickListener(newStopTimer());
this.restart=(Button)super.findViewById(R.id.restart);
this.format=(Button)super.findViewById(R.id.format);
this.restart.setOnClickListener(newRestartTimer());
this.format.setOnClickListener(newFormatTimer());
this.timer.setFormat("%s");
this.timer.setOnChronometerTickListener(newTimerListener());
this.vibrator = (Vibrator)super.getApplication().getSystemService(
Service.VIBRATOR_SERVICE);
}

private class StartTimer implements OnClickListener{

@Override
public voidonClick(View v) {

MainActivity.this.timer.start();
}}
private class StopTimer implements OnClickListener{

@Override
public voidonClick(View v) {
MainActivity.this.timer.stop();
}}
private class RestartTimer implements OnClickListener{

@Override
public voidonClick(View v) {
MainActivity.this.timer.setBase(SystemClock.elapsedRealtime());
}}
private class FormatTimer implements OnClickListener{

@Override
public voidonClick(View v) {
MainActivity.this.timer.setFormat(" 格式化显示:%s");

}}
private class TimerListener implementsOnChronometerTickListener{

@Override
public voidonChronometerTick(Chronometer chronometer) {
String time =chronometer.getText().toString()
.replaceAll("[^(\d{2}:\d{2})]", "");
if ("00:10".equals(time)) {
MainActivity.this.vibrator.vibrate(new long[] {1000, 10000,
1000, 100 }, 0);
if ("00:20".equals(time)) {
MainActivity.this.vibrator.cancel();

}

}}
}
}

  

爱华网本文地址 » http://www.aihuau.com/a/25101015/243843.html

更多阅读

MFC多线程CWinThread的使用方法转 cwinthread run

CWinThread的使用方法CWinThread类成员数据成员 m_bAutoDelete 指定线程结束时是否要销毁对象 m_hThread 当前线程的句柄 m_nThreadID 当前线程的ID m_pMainWnd 保存指向应用程序的主窗口的指针 m_pActiveWnd 指向容器应用程序的主

英语代词的使用 英语人称代词的用法

代词一、代词的定义、分类 代词是用来指代名词、形容词、数词的词。代词在句中可作主语、宾语、表语或定语。 二、代词的分类  在英语中,代词可分为人称代词、物主代词、反身代词、指示代词、疑问代词、相互代词、

Android中Toast对象的使用 android 自定义toast

字号:[ 大 中 小 ] 发布日期:2010-1-15 发布者:android浏览次数:1132次Android中Toast对象的使用编号:A3GS_TA20100115003描述:本文讲述了Android中Toast对象的使用。例子:有兴趣的朋友可以在登录后下载本文例子代码!例子效果图:  

声明:《android.os.Vibrator类震动服务 的使用 android 震动》为网友空瓶在漂流分享!如侵犯到您的合法权益请联系我们删除