为什么我写的代码和老师的一样不行呢

为什么我写的代码和老师的一样不行呢

我写的代码和老师的一样,只不过是用的动态注册,为什么不行呢

public class MainActivity extends AppCompatActivity {
    private Button button;
    private final  String CUSTOM_ACTION="com.sample.custom.action";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button=findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent=new Intent();
                intent.setAction(CUSTOM_ACTION);
                MainActivity.this.sendBroadcast(intent);
            }
        });

    }
}

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        IntentFilter filter=new IntentFilter();
        filter.addAction("com.sample.custom.action");
        registerReceiver(mBatter,filter);
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        unregisterReceiver(mBatter);
    }

    private BroadcastReceiver mBatter = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            Log.d("wahaaaaa",intent.getAction());
            Intent intent1=new Intent();
            intent1.setClass(context,MainActivity.class);
            intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(intent1);
        }
    };
}


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

你是说BroadcastReceiver没有收到广播是吗?那你这个Activity启动起来了吗?在一个APP中怎么都叫 MainActivity?改个名字,不是一个发送广播,一个是接收广播嘛。另外onReceive()中自己启动自己?这也让你看不出效果啊。

  • 一只52HZ的鲸 提问者 #1
    没有的,这是2个项目工程的,只不过activity的名字我没改
    2018-10-15 11:49:36
  • 好帮手慕雪 回复 提问者 一只52HZ的鲸 #2
    onReceive()中自己启动自己?这也让你看不出效果啊。
    2018-10-15 11:51:28
  • 一只52HZ的鲸 提问者 回复 好帮手慕雪 #3
    老师,我还是没明白,您能指导一下代码怎么改嘛
    2018-10-15 11:55:01
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Android数据通信开发与应用2018版
  • 参与学习           人
  • 提交作业       147    份
  • 解答问题       687    个

本专题介绍了Android开发核心组件:广播、服务及全局应用。教会你如何使用AIDL、Thread、Socket、蓝牙解决进程线程间通信问题。利用Glide等实现异步加载及NDK原生代码开发。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师