0
我想弄清楚如何实现一个事件监听器(不确定这是否是合适的术语)。我希望服务在我的应用程序启动后能够监听手机的电源状态。我不确定Android是如何处理这种情况的,所以不知道要搜索什么。我一直在使用这个使用广播接收器的代码:Android:创建一个持久性事件监听器
BroadcastReceiver receiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
unregisterReceiver(this);
int plugged = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
if (plugged == BatteryManager.BATTERY_PLUGGED_AC) {
// on AC power
Toast.makeText(getApplicationContext(), "AC POWER", Toast.LENGTH_LONG).show();
} else if (plugged == BatteryManager.BATTERY_PLUGGED_USB) {
// on USB power
Toast.makeText(getApplicationContext(), "USB POWER", Toast.LENGTH_LONG).show();
startActivity(alarmClockIntent);
} else if (plugged == 0) {
Toast.makeText(getApplicationContext(), "On Battery", Toast.LENGTH_LONG).show();
} else {
// intent didnt include extra info
}
}
};
IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
registerReceiver(receiver, filter);
代码工作正常。当我打开我的应用程序时,它会烤干手机电源的当前状态。
这里就是我想要做:
- 当用户启动应用程序,它是有效的服务
- 用户就可以用手机打开,但一旦插入在我的服务将捕捉并使用上面的代码
如何适应此代码以实现上述目标?
您是在问用户插入AC/USB电源但未插入用户时如何在代码中触发相同的操作目前没有使用你的应用程序(用你的话来说“开始使用手机”)? – momo
是的,确切地说。我不确定正确的行话。 – Nick