●バイブレーションの制御
まずはマニフェストファイルを開いてバイブレーション制御の権限をアプリケーションに与えます
app\src\main\AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.test.myapplication">
<uses-permission android:name="android.permission.VIBRATE" />
<application
............
赤文字の部分を追加します。
次にjavaプログラムからバイブレーションを呼び出してみましょう。
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
android.widget.RelativeLayout rl=(android.widget.RelativeLayout)findViewById(R.id.activity_main);
rl.setOnTouchListener(new OnTouch_listener());
}
private class OnTouch_listener implements android.view.View.OnTouchListener
{
android.os.Vibrator vi=(android.os.Vibrator)getSystemService(VIBRATOR_SERVICE);
@Override
public boolean onTouch(android.view.View v, android.view.MotionEvent e){
if(android.view.MotionEvent.ACTION_DOWN==e.getAction()) {
vi.vibrate(50);
}
return true;
}
}
}
つまり必要なのはこの二行だけです。
android.os.Vibrator vi=(android.os.Vibrator)getSystemService(VIBRATOR_SERVICE);
vi.vibrate(50);
vibrate()の引数にはミリ秒の時間を指定しますが、
あんまり短い時間を指定すると無反応になります。
この二行だけで、とりあえずブルブル震わせることができます。
長い時間を設定して鳴っている時にvi.cancel();を呼び出すと止めることもできます。
▲トップページ
>
android