控制活动的广播

时间:2011-11-26 06:34:40

标签: android

我正在做一个Android应用程序。在我的项目中,我正在使用广播接收器检查手机状态。使用以下代码我正在查看我的手机状态。

@Override
public void onReceive(Context context, Intent intent) {
    // TODO Auto-generated method stub
    Bundle bun=intent.getExtras();
    if(bun!=null){
        String state=bun.getString(TelephonyManager.EXTRA_STATE);
        Log.w("DEBUG", state);
        if(state.equals(TelephonyManager.EXTRA_STATE_RINGING)){
            String phoneno=bun.getString(TelephonyManager.EXTRA_INCOMING_NUMBER);
            Toast.makeText(context, "phone no. is"+phoneno, Toast.LENGTH_LONG).show();
        }
    }
}

现在我想从活动中控制这个应用程序。我的意思是使用一个按钮我已经开始广播并使用关闭按钮我必须关闭广播运行。第二个问题是我想在应用程序处于关闭状态时运行应用程序。所以我认为我已经从活动中调用了一个服务,该服务使该广播接收器在后台运行。如果我想停止我的应用程序处理打开的应用程序并单击该按钮关闭。帮帮我朋友..

1 个答案:

答案 0 :(得分:0)

你可以,

点击时 注册您的广播

    IntentFilter filter=new IntentFilter(TelephonyManager.EXTRA_STATE);
    registerReceiver(new BroadcastReceiverClass.class, filter);

点击关闭时 取消注册您的广播

 unregisterReceiver(new BroadcastReceiverClass());