zoukankan      html  css  js  c++  java
  • Android之手机振动的设置

    main.xml布局文件

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation
    ="vertical" android:layout_width="fill_parent"
    android:layout_height
    ="fill_parent">
    <LinearLayout android:orientation="horizontal"
    android:layout_width
    ="fill_parent"
    android:layout_height
    ="wrap_content">
    <ToggleButton android:id="@+id/tb1"
    android:textOn
    ="关闭振动"
    android:textOff
    ="启动振动"
    android:checked
    ="false"
    android:layout_width
    ="wrap_content"
    android:layout_height
    ="wrap_content" />
    <TextView android:id="@+id/tv1"
    android:text
    ="振动已关闭"
    android:layout_width
    ="wrap_content"
    android:layout_height
    ="wrap_content" />
    </LinearLayout>
    <LinearLayout android:orientation="horizontal"
    android:layout_width
    ="fill_parent"
    android:layout_height
    ="wrap_content">
    <ToggleButton android:id="@+id/tb2"
    android:textOn
    ="关闭振动"
    android:textOff
    ="启动振动"
    android:checked
    ="false"
    android:layout_width
    ="wrap_content"
    android:layout_height
    ="wrap_content" />
    <TextView android:id="@+id/tv2"
    android:text
    ="振动已关闭"
    android:layout_width
    ="wrap_content"
    android:layout_height
    ="wrap_content" />
    </LinearLayout>
    </LinearLayout>

    清单文件

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.ljq.activity" android:versionCode="1"
    android:versionName
    ="1.0">
    <application android:icon="@drawable/icon"
    android:label
    ="@string/app_name">
    <activity android:name=".VibrateActivity"
    android:label
    ="@string/app_name">
    <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category
    android:name
    ="android.intent.category.LAUNCHER" />
    </intent-filter>
    </activity>

    </application>
    <uses-sdk android:minSdkVersion="7" />
    <!-- 设置手机震动权限 -->
    <uses-permission android:name="android.permission.VIBRATE" />
    </manifest>

    VibrateActivity类

    package com.ljq.activity;

    import android.app.Activity;
    import android.app.Service;
    import android.os.Bundle;
    import android.os.Vibrator;
    import android.widget.CompoundButton;
    import android.widget.TextView;
    import android.widget.ToggleButton;
    import android.widget.CompoundButton.OnCheckedChangeListener;

    public class VibrateActivity extends Activity {
    private Vibrator vibrator=null;
    private ToggleButton tb1=null, tb2=null;
    private TextView tv1=null, tv2=null;

    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    //注意模拟器是模拟不了震动的,得真机测试哦
    //创建vibrator对象
    vibrator=(Vibrator)getSystemService(Service.VIBRATOR_SERVICE);
    tv1
    =(TextView)findViewById(R.id.tv1);
    tv2
    =(TextView)findViewById(R.id.tv2);
    tb1
    =(ToggleButton)findViewById(R.id.tb1);
    tb2
    =(ToggleButton)findViewById(R.id.tb2);
    tb1.setOnCheckedChangeListener(listener);
    tb2.setOnCheckedChangeListener(listener);
    }

    OnCheckedChangeListener listener
    =new OnCheckedChangeListener(){

    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
    ToggleButton toggleButton
    =(ToggleButton)buttonView;
    switch (toggleButton.getId()) {
    case R.id.tb1:
    if(isChecked){
    //根据指定的模式进行震动
    //第一个参数:该数组中第一个元素是等待多长的时间才启动震动,
    //之后将会是开启和关闭震动的持续时间,单位为毫秒
    //第二个参数:重复震动时在pattern中的索引,如果设置为-1则表示不重复震动
    vibrator.vibrate(new long[]{1000,50,50,100,50}, -1);
    tv1.setText(
    "振动已启动");
    }
    else {
    //关闭震动
    vibrator.cancel();
    tv1.setText(
    "震动已关闭");
    }
    break;
    case R.id.tb2:
    if(isChecked){
    //启动震动,并持续指定的时间
    vibrator.vibrate(3500);
    tv2.setText(
    "振动已启动");
    }
    else {
    //关闭启动
    vibrator.cancel();
    tv2.setText(
    "震动已关闭");
    }
    break;
    }
    }

    };
    }

    运行结果  

  • 相关阅读:
    poj 2676 Suduku (dfs)
    poj 1562 Oil Deposits (dfs)
    poj 2907 Collecting Beepers (dfs)
    poj 1655 Balancing Act (树形dfs)
    poj 3411 Paid Roads (dfs)
    hdu 2896 病毒侵袭 (AC)
    hdu 3065 病毒侵袭持续中 (AC)
    poj 2251 Dungeon Master (bfs)
    java中debug使用
    Swing入门级小项目总结
  • 原文地址:https://www.cnblogs.com/linjiqin/p/1965319.html
Copyright © 2011-2022 走看看