/** * 发送广播关闭指定Activity */ public class BaseActivity extends Activity { //根据需求定义自己需要关闭页面的action public static final String RECEIVER_ACTION_FINISH_A = "action_a"; private FinishActivityRecevier mRecevier; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); mRecevier = new FinishActivityRecevier(); registerFinishReciver(); } private void registerFinishReciver() { IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(RECEIVER_ACTION_FINISH_A); registerReceiver(mRecevier, intentFilter); } private class FinishActivityRecevier extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { //根据需求添加自己需要关闭页面的action if (RECEIVER_ACTION_FINISH_A.equals(intent.getAction())) { BaseActivity.this.finish(); } } } @Override protected void onDestroy() { if (mRecevier != null) { unregisterReceiver(mRecevier); } super.onDestroy(); }}
/** * 需要关闭的窗口继承BaseActivity */ public class Immediate_PaymentActivity extends BaseActivity { }
/** * 在指定的Activity窗口关闭 * @param context */ public static void sendFinishActivityBroadcast(Context context) { Intent intent = new Intent(BaseActivity.RECEIVER_ACTION_FINISH_A); context.sendBroadcast(intent); }sendFinishActivityBroadcast(this);//处理完后调用//最后,不要忘记添加哦<action android:name="action_a" /><activity android:name=".activity.Immediate_PaymentActivity" android:screenOrientation="portrait"> <intent-filter> <action android:name="action_a" /> </intent-filter> </activity>
通过广播在当前Activity关闭其他Activity
最新推荐文章于 2023-03-28 09:58:26 发布