小编Sid*_*h N的帖子

Android:在库中注册接收器

我有一个库,其中包含一个名为 as 的活动BaseActivity和一个名为 as 的接收器BaseRegister

BaseRegisterextendsBroadcastReceiver和它的动作是android.net.conn.CONNECTIVITY_CHANGEandroid.net.wifi.WIFI_STATE_CHANGED,它看起来像:

public class BaseRegister extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        if {
            Log.d("onReceive", "Got it"); // Works
            context.sendBroadcast(new Intent("some"));
        else {
            Log.d("onReceive", "Nope"); // Works
            context.sendBroadcast(new Intent("stuff"));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

AndroidManifest根据Log. 下面是它的BaseActivity样子:

public class BaseActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        registerReceiver(applicationControl, new IntentFilter("some"));
        registerReceiver(applicationControl, new IntentFilter("stuff"));
    }

    private BroadcastReceiver …
Run Code Online (Sandbox Code Playgroud)

android broadcastreceiver android-context

5
推荐指数
1
解决办法
1959
查看次数