我正在倾听连接和解除星系的电源。电源连接和断开的听众
我创造了2个BroadCastReceivers,一个用于连接,另一个用于断开连接。
当我尝试实施时,即使断开电源线,我也只能获得连接的数据。
意图被发送,但看起来是错误的。
这里是活动的代码:
// Handle Power On
PowerConnectedBCReceiver myPowerConnectedBCReceiver = new PowerConnectedBCReceiver();
IntentFilter intentPowerOnFilter = new IntentFilter();
intentPowerOnFilter.addAction("android.intent.action.ACTION_POWER_CONNECTED");
registerReceiver(myPowerConnectedBCReceiver, intentPowerOnFilter);
BroadcastReceiver PowerConnectedReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
showToast("connected");
}
};
// Handle Power Off
PowerConnectedBCReceiver myPowerDisonnectedBCReceiver = new PowerConnectedBCReceiver();
IntentFilter intentPowerDisconnectedOnFilter = new IntentFilter();
intentPowerDisconnectedOnFilter.addAction("android.intent.action.ACTION_POWER_DISCONNECTED");
registerReceiver(myPowerDisonnectedBCReceiver, intentPowerDisconnectedOnFilter);
BroadcastReceiver PowerDisconnectedReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
showToast("disconnected");
}
};
注册两个BC做工作
registerReceiver(PowerDisconnectedReceiver, new IntentFilter("com.neglected.POWER_DISCONNECTED"));
registerReceiver(PowerConnectedReceiver, new IntentFilter("com.neglected.POWER_CONNECTED"));
广播连接代码:
public class PowerConnectedBCReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
Toast.makeText(context, "Phone was connected to power" , Toast.LENGTH_LONG).show();
Intent tIntent = new Intent("com.neglected.POWER_CONNECTED");
context.sendBroadcast(tIntent);
}
}
广播断开Ç颂:
public class PowerDisconnectedBCReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
Toast.makeText(context, "Phone was disconnected from power" , Toast.LENGTH_LONG).show();
Intent tIntent = new Intent("com.neglected.POWER_DISCONNECTED");
context.sendBroadcast(tIntent);
}
}
是代码错了吗? 我可以听两个动作吗? seperately? 我看不到额外与CONNNECTED Action一起发送,是吗?
谢谢,现在,我要他们做的就是Toast调试。谢谢。这个想法是我在我的Activity中有一个复选框,当更改状态时,它应该在我的服务中注册/注销广播监听器。 *在我将它推到我的服务之前,我希望看到它在活动中有效。 – Saariko
感谢链接michal。我读过它,而我的“不良”行为就是在连接和断开电话时收到CONNECTED事件。我会继续寻找。再次感谢 – Saariko