Android笔记----Service应用和BroadcastReceiver组件

本文详细介绍了Android中Service的应用,包括音频管理器、振动器和手机闹钟服务。同时,深入讲解了BroadcastReceiver组件,如何发送和接收广播消息,以及有序广播的概念。还展示了如何通过BroadcastReceiver接收系统广播,如开机自动运行服务和短信提醒。
摘要由CSDN通过智能技术生成

音频管理器

振动器

手机闹钟服务

接收广播消息

接收系统广播消息

 

 

 

音频管理器

使用Android提供的AudioManager来管理系统音量,或者直接让系统静音。程序中首先要通过getSystemService()方法来获取系统的音频管理器,然后就可以调用AudioManager的方法来控制手机音频了。

获取AudioManager对象之后,就可以调用如下方法来控制手机音频了。

adjustStreamVolume(int streamType, int direction, int flags):调整手机指定类型的声音。三个参数说明如下:

setMode(int mode):设置声音模式,可设置的值有NORMALRINGTONEIN_CALL

setMicrophoneMute(boolean on):设置是否让麦克风静音。

setRingerMode(int ringerMode):设置手机电话铃声的模式。可支持如下属性值。

RINGER_MODE_NORMAL:正常的手机铃声。

RINGER_MODE_SILENT :手机铃声静音。

RINGER_MODE_VIBRATE:手机振动。

setStreamMute(int streamType, boolean state):将手机的指定类型的声音调整为静音。

setSpeakerphoneOn(boolean on):设置是否打开扩音器。

setStreamVolume(int streamType, int index, int flags):设置手机的指定类型的音量值。

例:使用AudioManager控制手机音频:

AudioTest.java

public class AudioTest extends Activity
{
	Button play, up , down;
	ToggleButton mute;
	AudioManager aManager;
	@Override
	public void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		// 获取系统的音频服务
		aManager = (AudioManager)getSystemService(
			Service.AUDIO_SERVICE);
		// 获取界面中3个按钮和一个ToggleButton控件
		play = (Button) findViewById(R.id.play);
		up = (Button) findViewById(R.id.up);
		down = (Button) findViewById(R.id.down);
		mute = (ToggleButton) findViewById(R.id.mute);
		// 为play按钮的单击事件绑定监听器
		play.setOnClickListener(new OnClickListener()
		{
			@Override
			public void onClick(View source)
			{
				// 初始化MediaPlayer对象,准备播放音乐
				MediaPlayer mPlayer = MediaPlayer.create(AudioTest.this,
					R.raw.earth);
				// 设置循环播放
				mPlayer.setLooping(true);
				// 开始播放
				mPlayer.start();
			}
		});

		up.setOnClickListener(new OnClickListener()
		{
			@Override
			public void onClick(View source)
			{
				// 指定调节音乐的音频,增大音量,而且显示音量图形示意
				aManager.adjustStreamVolume(
					AudioManager.STREAM_MUSIC
					, AudioManager.ADJUST_RAISE
					, AudioManager.FLAG_SHOW_UI);
			}
		});
		down.setOnClickListener(new OnClickListener()
		{
			@Override
			public void onClick(View source)
			{
				// 指定调节音乐的音频,降低音量,而且显示音量图形示意
				aManager.adjustStreamVolume(
					AudioManager.STREAM_MUSIC
					, AudioManager.ADJUST_LOWER
					, AudioManager.FLAG_SHOW_UI);
			}
		});
		mute.setOnCheckedChangeListener(new OnCheckedChangeListener()
		{
			@Override
			public void onCheckedChanged(CompoundButton source
				, boolean isChecked)
			{
				// 指定调节音乐的音频,根据isChecked确定是否需要静音
				aManager.setStreamMute(AudioManager.STREAM_MUSIC
					, isChecked);
			}
		});
	}
}


 

振动器

在某些时候,程序需要启动系统振动器,振动是除了视频、声音之外的另一种“多媒体”,充分利用的系统的振动器会给用户更好的体验。

系统获取Vibrator也是调用ContextgetSystemService()方法,接下来就调用Vibrator的方法来控制手机振动了。

Vibrator的使用比较简单,它只有以下几个简单的方法来控制手机的振动。

 

例:使用Vibrator

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值