广播接收器服务后没有响应

时间:2013-07-09 06:47:20

标签: android android-intent service broadcastreceiver

我正在尝试使用广播接收器从服务发送字符串。 在到达某个位置时我想发送广播接收器,但广播接收器无法发送任何内容,也没有在Logcat中收到任何错误。此外,我无法在活动或服务中收到任何错误。

以下是我在服务类中的代码: -

    public class MyLocationListener implements LocationListener{

    @Override
    public void onLocationChanged(Location location) {
        // TODO Auto-generated method stub
       inte.setAction("hello");
       inte.putExtra("StringFromService", genre);
       inte.addCategory(Intent.CATEGORY_DEFAULT);
      sendBroadcast(inte);
      }

另一个班级内的接收者: -

public class XYZ extends ListActivity {



public BroadcastReceiver myBR= new BroadcastReceiver() {

    @Override
    public void onReceive(Context context, Intent intent) {
        // TODO Auto-generated method stub
        String x= intent.getAction();
        Log.d("INside BroadcastReceiver", "inside" + x);

        if(x.equals("hello")){


            Toast.makeText(XYZ.this,"hello", Toast.LENGTH_LONG).show();
        }
    }
};







@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.xyz);
 registerReceiver(myBR, new IntentFilter("hello"));
  }

}

1 个答案:

答案 0 :(得分:0)

要触发广播,您必须使用onResume()方法注册接收器,如下所示:

registerReceiver(myBR, new IntentFilter("hello"));

并取消注册onPause()方法

中的广播
unregisterReceiver(myBR);