【问题标题】:How can we make the BroadcastReceiver respond when the Checkbox in the activity is enabled?启用 Activity 中的 Checkbox 时,我们如何让 BroadcastReceiver 响应?
【发布时间】:2012-12-10 20:33:18
【问题描述】:

我是 Android 的新手。在这里,我的 Activity 中有一个复选框。我真正想要的是,在启用 Checkbox 时,我的 BroadcastReceiver 需要响应。那我该怎么办?它是如何完成的。

任何人都可以提供示例代码吗?

请告诉我是否可以这样做:

public MyActivity extends Activity{
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

....
.....
.....
 //Check a condition and if its true declare a BroadcastReceiver like this here

class MyReceiver extends BroadcastReceiver 
{
    @Override
    public void onReceive(Context context, Intent intent) {
        // do something
    }
}

提前致谢

【问题讨论】:

  • 您的意思是通过“启用”进行检查吗?如果是这样,请抓住事件,然后广播您需要的任何内容。
  • 将复选框值保存在首选项中并在广播接收器中检查...

标签: android android-activity checkbox broadcastreceiver


【解决方案1】:

试试这个

if(_cb.isChecked()){
  startService(serviceIntent);
  registerReceiver(broadcastReceiver, new IntentFilter(YourService.BROADCAST_ACTION));
}else{
  stopService(serviceIntent);
  unregisterReceiver(broadcastReceiver);
}

并发布您的代码..

【讨论】:

    【解决方案2】:

    这有点像问“我如何在打开电视时让电话响起?”。当然,这里的答案是必须有东西在监视电视,并且当它打开时,必须拨打您的电话号码。或者,在您的情况下,您需要在选中复选框时调用一个侦听器,并且作为响应,它必须广播一个 Intent,其操作和过滤器与您的广播接收器配置接收的内容相匹配。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-23
      • 1970-01-01
      • 2011-06-01
      • 2018-12-03
      相关资源
      最近更新 更多