BroadcastReceiver实现强制下线功能

本文介绍了如何在Android应用中通过BroadcastReceiver来实现强制用户下线的功能。主要步骤包括:通过ActivityCollector管理所有Activity,BaseActivity注册动态广播接收器,LoginActivity负责登录并继承BaseActivity,MainActivity触发广播接收器,同时在AndroidManifest中设置LoginActivity为主活动。用户登录后,可通过触发特定广播来实现强制下线操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过ActivityCollector管理所有的Activity

public class ActivityCollector {
   
   
    public static List<Activity> activities=new ArrayList<>();
    public static void addActivity(Activity activity){
   
   
        activities.add(activity);
    }
    public static void removeActivity(Activity activity){
   
   
        activities.remove(activity);
    }
    public static void finishAll(){
   
   
        for(Activity activity:activities){
   
   
            if(!activity.isFinishing()){
   
   
                activity.finish();
            }
        }
    }

}

BaseActivity 注册动态广播接收器

public class BaseActivity extends AppCompatActivity {
   
   
    private ForceOffLineReceiver receiver;
    @Override
    protected void onCreate(Bundle savedInstanceState){
   
   
        super.onCreate(savedInstanceState);
        ActivityCollector.addActivity(this);
    }
     @Override
     protected void onResume(){
   
   
        super.onResume();
         IntentFilter intentFilter=new IntentFilter();
         intentFilter.addAction("com.example.administrator.broadcastbestpractice.FORCE_OFFLINE");
    receiver=new ForceOffLineReceiver();
    registerReceiver(receiver,intentFilter);

     }
     @Override
     protected void onPause(){
   
   
        super.onPause()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值