大叔程序员的第九天 @广播启动Activity

三步走

一,发出广播

@Override
            public void onClick(View v) {
                receiver = new MyBroadcastReceiver();
                Intent it = new Intent("com.example.LIN");
                sendBroadcast(it);
                
            }

二,静态注册广播

@Override
            public void onClick(View v) {
                receiver = new MyBroadcastReceiver();
                Intent it = new Intent("com.example.LIN");
                sendBroadcast(it);
                
            }

三,建立MyBroadcastReceiver.java

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
public class MyBroadcastReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        // TODO Auto-generated method stub
        
        context.startActivity(new Intent(context, TestReceiver.class).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
    }//这句中addFlags是关键

}

Intent 有一系列常量Flag,基本FLAG_ACTIVITY...开头的都是与Task广播等相关,官方建议参考task and back stack,这部分与性能相关

原文地址:https://www.cnblogs.com/linxiaojiang/p/2958194.html