Android_Vibrator(振动器)使用解析

Android_Vibrator(振动器)使用解析转载请注明出处 Android Vibrator 振动器 使用解析 夨坕 write 的博客 CSDN 博客 知识概述 Vibrator 振动器 是 Android 设备给我们提供的用于机身震动的一个服务 例如当收到消息推送时可以设置震动提醒 闹钟一边响铃一边震动提醒我们等等 代码示例 1

大家好,我是讯享网,很高兴认识大家。

转载请注明出处:Android_Vibrator(振动器)使用解析_夨坕write的博客-CSDN博客

知识概述

Vibrator(振动器),是Android设备给我们提供的用于机身震动的一个服务。例如当收到消息推送时可以设置震动提醒,闹钟一边响铃一边震动提醒我们等等。

代码示例

1、使用Vibrator(振动器)需要在AndroidManifest.xml 添加震动器权限


讯享网

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

讯享网

2、随便在一个页面demo.xml添加几个按钮

讯享网<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <Button android:id="@+id/btn1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="判断是否有振动器" /> <Button android:id="@+id/btn2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="短振动" /> <Button android:id="@+id/btn3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="长振动" /> <Button android:id="@+id/btn4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="取消振动" /> </LinearLayout>

3、在随便创建的页面对应的Activity页面使用Vibrator(振动器)的方法

package com.demo.activity; import com.demo.util.ToastUtil; import android.app.Activity; import android.app.Service; import android.content.Context; import android.os.Vibrator; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class DemoActivity extends Activity { private Button btn1, btn2, btn3, btn4; private Vibrator vibrator;// 振动器 private Context mContext;// 上下文 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_shake); // 获得Vibrator实例 vibrator = (Vibrator) getSystemService(Service.VIBRATOR_SERVICE); mContext = ShakeActivity.this; bindViews(); bindViewsByClick(); } private void bindViews(){ btn1 = (Button) findViewById(R.id.btn1); btn2 = (Button) findViewById(R.id.btn2); btn3 = (Button) findViewById(R.id.btn3); btn4 = (Button) findViewById(R.id.btn4); } private void bindViewsByClick(){ // 判断是否有振动器 btn1.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { String mString = vibrator.hasVibrator() ? "当前设备有振动器" : "当前设备无振动器"; Toast.makeText(mContext ,mString,Toast.LENGTH_LONG).show(); } }); // 短振动 btn2.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { vibrator.cancel(); vibrator.vibrate(new long[] {100,200,100,200},0); Toast.makeText(mContext ,"短振动",Toast.LENGTH_LONG).show(); } }); // 长振动 btn3.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { vibrator.cancel(); vibrator.vibrate(new long[] {100,100,100,1000},0); Toast.makeText(mContext ,"长振动",Toast.LENGTH_LONG).show(); } }); // 取消振动 btn4.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { vibrator.cancel(); Toast.makeText(mContext ,"取消振动",Toast.LENGTH_LONG).show(); } }); } }

效果图

android_vibrator

小讯
上一篇 2025-04-07 09:49
下一篇 2025-03-10 15:50

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/27349.html