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信息。
效果如下:
动态注册:
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(); }
静态注册将会驻留在系统中,随着系统启动而启动,一直工作。如果没有必要,我推荐使用动态注册的方式来注册广播,这样将会节省系统资源和电量。