启动和停止广播接收器 [英] Start and stop broadcast receiver
本文介绍了启动和停止广播接收器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我要开始和两个按钮停止广播接收机。
我写的code这两个按钮的监听器。
I want to start and stop a broadcast receiver from two buttons. I had written the code for this in two button listeners.
在code如下: -
The code is as follows:-
在startButton我已经写了code为如下注册接收
In startButton I have written the code for registering receiver as follows
startCallBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
startCallBtn.setVisibility(View.INVISIBLE);
stopCallBtn.setVisibility(View.VISIBLE);
//register call receiver.
registerReceiver(callReceiver, new IntentFilter(
"android.intent.action.CALL"));
System.out.println("Registered Call Receiver Perfectly");
}
});
在停止按钮我已经写了要求停止接收器
In a stop button I have written the call for stop receiver as
stopCallBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
stopCallBtn.setVisibility(View.INVISIBLE);
startCallBtn.setVisibility(View.VISIBLE);
stopService(new Intent(MainActivity.this, SpeakOut.class));
FileOutputStream fos;
//Unregister sms receivers
unregisterReceiver(callReceiver);
System.out.println("Unregistered Call Broadcast Receiver");
}
});
还是在新的呼叫接收听众呼吁
still the listener is calling when new call is receiving
推荐答案
您可以试试这个code为启用
和禁用
广播接收器
..我希望这会帮助你。
You can try this code for enable
and disable
BroadcastReceiver
..I hope this will help you..
public void enableBroadcastReceiver(View view)
{
ComponentName receiver = new ComponentName(this, AlarmManagerBroadcastReceiver.class);
PackageManager pm = this.getPackageManager();
pm.setComponentEnabledSetting(receiver,
PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
PackageManager.DONT_KILL_APP);
Toast.makeText(this, 'Enabled broadcast receiver', Toast.LENGTH_SHORT).show();
}
/**
* This method disables the Broadcast receiver registered in the AndroidManifest file.
* @param view
*/
public void disableBroadcastReceiver(View view){
ComponentName receiver = new ComponentName(this, AlarmManagerBroadcastReceiver.class);
PackageManager pm = this.getPackageManager();
pm.setComponentEnabledSetting(receiver,
PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
PackageManager.DONT_KILL_APP);
Toast.makeText(this, 'Disabled broadcst receiver', Toast.LENGTH_SHORT).show();
}
这篇关于启动和停止广播接收器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文