读书人

手机震动成效

发布时间: 2012-06-27 14:20:09 作者: rapoo

手机震动效果
在android中,可以控制手机进行震动,先是在配置文件中对权限进行配置:
<uses-permission android:name="android.permission.VIBRATE" />

简单示例:
主程序中,判断 ToggleButton 是否有被启动,如果单击“ ON ”的话,就会启动震动模式,并会跳出 Toast 文字;如果再一次单击“ OFF ”,就会把震动关掉。

public class EX05 _ 06 extends Activity

{

private Vibrator mVibrator01;



/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.main);



/* 设置 ToggleButton 的对象 */

mVibrator01 = ( Vibrator )getApplication().getSystemService

(Service.VIBRATOR _ SERVICE);



final ToggleButton mtogglebutton1 =

(ToggleButton) findViewById(R.id.myTogglebutton1);



final ToggleButton mtogglebutton2 =

(ToggleButton) findViewById(R.id.myTogglebutton2);



final ToggleButton mtogglebutton3 =

(ToggleButton) findViewById(R.id.myTogglebutton3);



/* 短震动 */

mtogglebutton1.setOnClickListener(new OnClickListener()

{

public void onClick(View v)

{

if (mtogglebutton1.isChecked())

{

/* 设置震动的周期 */

mVibrator01.vibrate( new long[]{100,10,100,1000},-1);

/* 用 Toast 显示震动启动 */

Toast.makeText

(

EX05 _ 06.this,

getString(R.string.str _ ok),

Toast.LENGTH _ SHORT

).show();

}

else

{

/* 取消震动 */

mVibrator01.cancel();

/* 用 Toast 显示震动已被取消 */

Toast.makeText

(

EX05 _ 06.this,

getString(R.string.str _ end),

Toast.LENGTH _ SHORT

).show();

}

}

});



/* 长震动 */

mtogglebutton2.setOnClickListener(new OnClickListener()

{

public void onClick(View v)

{

if (mtogglebutton2.isChecked())

{

/* 设置震动的周期 */

mVibrator01.vibrate(new long[]{100,100,100,1000},0);



/* 用 Toast 显示震动启动 */

Toast.makeText

(

EX05 _ 06.this,

getString(R.string.str _ ok),

Toast.LENGTH _ SHORT

).show();

}

else

{

/* 取消震动 */

mVibrator01.cancel();



/* 用 Toast 显示震动取消 */

Toast.makeText

(

EX05 _ 06.this,

getString(R.string.str _ end),

Toast.LENGTH _ SHORT

).show();

}

}

});



/* 节奏震动 */

mtogglebutton3.setOnClickListener(new OnClickListener()

{

public void onClick(View v)

{

if (mtogglebutton3.isChecked())

{

/* 设置震动的周期 */

mVibrator01.vibrate( new long[]{1000,50,1000,50,1000},0);



/* 用 Toast 显示震动启动 */

Toast.makeText

(

EX05 _ 06.this, getString(R.string.str _ ok),

Toast.LENGTH _ SHORT

).show();

}

else

{

/* 取消震动 */

mVibrator01.cancel();

/* 用 Toast 显示震动取消 */

Toast.makeText

(

EX05 _ 06.this,

getString(R.string.str _ end),

Toast.LENGTH _ SHORT

).show();

}

}

});

}

}



读书人网 >移动开发

热点推荐