android震动学习经验

本文分享了在Android中实现震动功能的两种方法,首先是通过Notification实现,然后介绍了使用Vibrator类更高效的方式,并强调了使用Vibrator时需要注意的权限问题和如何控制震动重复。最后提醒开发者在程序退出时要取消震动,以避免不必要的资源消耗。
摘要由CSDN通过智能技术生成
 

最近研究了一下震动,给大家分享一下。

最初的时候用了一个很笨的方法。我知道通知中可以设置震动,每次震动都发一个通知,功能虽然实现了,但是不知道会不会有什么其他影响。

代码如下:

package com.adrainy;

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

public class VibratorActivityTest extends Activity {
    /** Called when the activity is first created. */
    Button btn;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        btn = (Button) findViewById(R.id.Button01);
        btn.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                Notification n = new Notification();
                NotificationManager nm = (NotificationManager) VibratorActivityTest.this.getSystemService(NOTIFICATION_SERVICE);
                n.when = System.currentTimeMillis();

                long[] vibrate =  {1000, 1000, 2000, 500};    // 自定义的震动形式。

                                                                              //  也可以试用默认的。Notification.DEFAULT_VIBRATE

                                                                                //四个参数 :   1    触发事件后多长时间 震动
                                                                                //                    2    第一震动 多长时间 即 震动时长
                                                                                //                    3    距离第一个震动完后 多长时间 震动第二次
                                                                                //                    4    第二次震动的 时长
                                                                                //                    。。。。


                n.vibrate = vibrate;
                nm.notify(0, n);
            }
        });
    }
   
}



记得在AndroidManifest.xml加上震动权限:

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

 

后来查阅了网上的资料及API文档,发现有Vibrator类,让我恍然大悟。直接看代码吧。



创建Vibrator 对象。

Vibrator vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);
        btn.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                long[] vibrate =  {1000, 1000, 2000, 500};    // 自定义的震动形式。

                                                                              //  也可以试用默认的。Notification.DEFAULT_VIBRATE

                                                                                //四个参数 :    1  触发事件后多长时间 震动
                                                                                //                    2    第一震动 多长时间 即 震动时长
                                                                                //                    3    距离第一个震动完后 多长时间 震动第二次
                                                                                //                    4 第二次震动的 时长
                                                                                //                    。。。。
                vibrator.vibrate(vibrate, -1); // 后面的参数是repeate
            }
        });



记得如果无限重复,记得在程序退出的是cancel掉ibrator,否则会一直震动,直到手机没电。(这样的程序整人还是不错啊,哈哈 )。

个人经验分享,希望对大家有帮助。

 原文来源:尚观知识库  http://www.uplook.cn

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值