android安卓播音的使用

android安卓广播的使用

android的广播分为动态注册和静态注册两种情况

首先先说下静态注册

静态注册就是在xml进行注册 代码如下:

java代码部分:

package com.example.tt;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;


public class simidaReceive extends BroadcastReceiver {

	@Override
	public void onReceive(Context context, Intent intent) {
		Toast.makeText(context, "接收到广播信息了,然后我就被打印了", Toast.LENGTH_LONG).show();
	}

}


xml代码部分:

 

 <receiver android:name="simidaReceive">
            <intent-filter>
                <action android:name="android.provider.Telephony.SMS_RECEIVED"/>
            </intent-filter>
        </receiver>

当然还需要一个权限:

  <uses-permission android:name="android.permission.RECEIVE_SMS" />


这样就完成了一个广播的静态注册,在系统接收到短信时候会提示一个Toast信息。

效果如下:

android安卓播音的使用

 

动态注册:

java代码部分:

	@Override
	protected void onStart() {
		//在onStart注册广播,和程序一起运行
		receive = new simidaReceive();
		IntentFilter filter = new IntentFilter(
				"android.provider.Telephony.SMS_RECEIVED");
		registerReceiver(receive, filter);
		super.onStart();
	}

	@Override
	protected void onStop() {
		//在onStop取消广播接收
		unregisterReceiver(receive);
		super.onStop();
	}


 

静态注册将会驻留在系统中,随着系统启动而启动,一直工作。如果没有必要,我推荐使用动态注册的方式来注册广播,这样将会节省系统资源和电量。