1.震動
先說簡單的,震動提示
第一步,在AndroidManifest.xml 里聲明權限
<uses-permissionandroid:name="android.permission.VIBRATE"/>
第二步,獲得震動服務并啟動
Vibrator vibrator = (Vibrator)activity.getSystemService(Context.VIBRATOR_SERVICE);
vibrator.vibrate(newlong[]{300,500},0);
經過以上兩步,就啟動震動了。上述代碼直接在程序中調用就可以了,這個是比較簡單的,比大象放冰箱要少一步。Vibrate()的參數網上能查到,看看就知道了。
2.提示鈴聲
第一步,1.準備一個音頻文件比如:beep.ogg。先把音頻文件導入到res/raw文件夾下,需要注意的是這個文件下的文件名必須是小寫,之后導入即可。
第二步,為activity注冊的默認音頻通道。這個一般在onCreate()函數中注冊即可。
activity.setVolumeControlStream(AudioManager.STREAM_MUSIC);
第三步,檢查當前情景模式,確定不要是靜音。
第四步,初始化MediaPlayer對象,指定播放的聲音通道為 STREAM_MUSIC,這和上面的步驟一致,指向了同一個通道。
MediaPlayer mediaPlayer = new MediaPlayer();//這個我定義了一個成員函數
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
第五步,注冊事件。當播放完畢一次后,重新指向流文件的開頭,以準備下次播放。
mediaPlayer .setOnCompletionListener(newMediaPlayer.OnCompletionListener() {
@Override
public voidonCompletion(MediaPlayer player) {
player.seekTo(0);
}
});
第六步,設定數據源,并準備播放
AssetFileDescriptor file =activity.getResources().openRawResourceFd(
R.raw.beep);
try{
mediaPlayer.setDataSource(file.getFileDescriptor(),
file.getStartOffset(), file.getLength());
file.close();
mediaPlayer.setVolume(BEEP_VOLUME,BEEP_VOLUME);
mediaPlayer.prepare();
}catch (IOException ioe) {
Log.w(TAG, ioe);
mediaPlayer = null;
}
第七步,開始播放
mediaPlayer.start();
經過以上幾步,就可以實現手機的鈴聲了。