在接受廣播的activity裏面註冊,並在Ondestroy 裏面接觸註冊;
1.動態註冊
public class B extends Activity{
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_withdrawdetails);
button = findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
sendBroadcast(new Intent("自己設置的antion字符串"));
}
});
}
}
public class A extends Activity{
private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
finish();
}
};
@Override
protected void onResume() {
super.onResume();
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("自己設置的antion字符串”);
registerReceiver(broadcastReceiver, intentFilter);
}
@Override
protected void onDestroy() {
super.onDestroy();
unregisterReceiver(broadcastReceiver);
}
}
2.靜態註冊:
public class B extends Activity{
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_withdrawdetails);
button = findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
sendBroadcast(new Intent("自己設置的antion字符串"));
}
});
}
}
public class A extends Activity{
private MyReceiver receiver ;
@Override
protected void onResume() {
super.onResume();
receiver = new MyReceiver();
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("自己設置的antion字符串”);
registerReceiver(receiver, intentFilter);
}
@Override
protected void onDestroy() {
super.onDestroy();
unregisterReceiver(receiver);
}
}
public class MyReceiver extends BroadcastReceiver {
public MyReceiver() {
super();
}
@Override
public void onReceive(Context context, Intent intent) {
if (context instanceof Activity) {
((Activity) context).finish();
}
}
}
<receiver android:name="com.yjz.construct.receiver.MyReceiver" >
<intent-filter>
<action android:name="com.yjz.closeactivity" />
</intent-filter>
</receiver>