1、注册
2、怎么动作
3、怎么发送
4、由啥接收条件
5、应用例子
注册:1、动态注册随activity的销毁而销毁2、静态注册(在manifest.xml)中注册,注册到系统中,不会随activity的销毁而销毁
动作:1.系统给的2、自定义的 “包名”+“.”+"动作描述"
发送:sendbroadcast(intent)
接收:由满足动作的activity接收
应用例子:电量计等
package com.ct.mytestbroad; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.content.IntentFilter; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.ProgressBar; public class MainActivity extends Activity { private static Button button=null; private static ProgressBar bar=null; private IntentFilter filter; Broadcasttest t; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); button=(Button)findViewById(R.id.button); bar=(ProgressBar)findViewById(R.id.bar); button.setOnClickListener(new ButtonClick()); } public static Button getButton() { return button; } public static ProgressBar getBar() { return bar; } class ButtonClick implements OnClickListener{ @Override public void onClick(View v) { // TODO Auto-generated method stub t = new Broadcasttest(); filter = new IntentFilter(); filter.addAction(Intent.ACTION_EDIT); Intent intent = new Intent(); intent.setAction(Intent.ACTION_EDIT ); registerReceiver(t, filter); sendBroadcast(intent); } } @Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); unregisterReceiver(t); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
package com.ct.mytestbroad; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.content.IntentFilter; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.ProgressBar; public class MainActivity extends Activity { private static Button button=null; private static ProgressBar bar=null; private IntentFilter filter; Broadcasttest t; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); button=(Button)findViewById(R.id.button); bar=(ProgressBar)findViewById(R.id.bar); button.setOnClickListener(new ButtonClick()); } public static Button getButton() { return button; } public static ProgressBar getBar() { return bar; } class ButtonClick implements OnClickListener{ @Override public void onClick(View v) { // TODO Auto-generated method stub t = new Broadcasttest(); filter = new IntentFilter(); filter.addAction(Intent.ACTION_EDIT); Intent intent = new Intent(); intent.setAction(Intent.ACTION_EDIT ); registerReceiver(t, filter); sendBroadcast(intent); } } @Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); unregisterReceiver(t); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
(在F:\java\MyTestBroad)