android中Activity的方法怎么用在BroadcastReceiver中?

我想在BroadcastReceiver中使用getSystemService 。
2025-04-24 09:09:34
推荐回答(2个)
回答1:

BroadcastReceiver中不是有 context么,可以直接获得啊。 如果你不想这么做的话,加一个静态的public static Context c ,实现其 set 和get方法 ,set里面在初始化时候 MainActivity.c=MainActivity.this; 这样在你的广播里面这样调用 MainActivity.c.getSystemService();即可。

回答2:

android中的activity的方法,在广播类broadcastreceiver使用,需要拿到context,就可以使用activity中的方法,如下:

public class TestBBB extends BroadcastReceiver {
    @SuppressWarnings("unused")
    @Override
    public void onReceive(Context context, Intent intent) {
        // TODO Auto-generated method stub
        ConnectivityManager conMan = (ConnectivityManager) context
                .getSystemService(Context.CONNECTIVITY_SERVICE);
        State wifi = conMan.getNetworkInfo(ConnectivityManager.TYPE_WIFI)
                .getState();
                           
    }
}