实现功能:
点击FirstActivity中的按钮,发送广播,然后BroadcastReceiver接收广播,并启动SecondActivity.
主要实现:
为FirstActivity中的按钮button注册的点击事件:
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent intent = new Intent();
intent.setAction(Intent.ACTION_EDIT);
sendBroadcast(intent);
}
});
manifest中BroadcastReceiver的注册:
<receiver android:name=".TestReceiver" >
<intent-filter>
<action android:name="android.intent.action.EDIT" />
</intent-filter>
</receiver>
TestReceiver的onReceive()方法:
public void onReceive(Context arg0, Intent arg1) {
// TODO Auto-generated method stub
Intent intent = new Intent();
intent.setClass(arg0, SecondActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //这一行非常关键,如果不加这个,就不能在这实现Activity的启动。
arg0.startActivity(intent);
}
SecondActivity是各空白Activity。
那么问题来了,现在如果在FirstActivity中有个TextView,我想实现点击FirstActivity中的button后发送广播,然后在BroadcastReceiver接收广播后更新TextView中的文字,如何实现?