我想利用广播在activity之间传递数据(不是直接用intent传递bundle),代码如下:
MainActivity:
public class MainActivity extends Activity{
private Button mButton;
@override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mButton = (Button)findViewById(R.id.button);
mButton.setOnClickListenner(new OnClickListener(){
@override
public void onClick(View v){
Intent broadIntent = new Intent("com.example.broadcasttest");
broadIntent.putExtra("position", 3);
sendBroadcast(broadIntent);
startActivity(new Intent(MainActivity.this, SecondActivity.class)); }
});
}
}
SecondActivity:
public class SecondActivity extends Activity{
private int position;
@override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
IntenFilter filter = new IntenFilter("com.example.broadcasttest");
registerReceiver(receiver, filter);
}
BroadcastReceiver receiver = new BroadcastReceiver(){
@override
public void OnReceive(Context context, Intent intent){
position = intent.getIntExtra("position", 0);
Log.e("","position-->"+position);
}
}
@override
protected void onDestroy(){
super.OnDestroy();
unRegisterReceiver(receiver);
}
}
广播接收不到,请问是什么问题,谢谢。
相关分类