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();
经过以上几步,就可以实现手机的铃声了。