按下电源按钮时在后台发送短信

Sends SMS in Background when Power Button is pressed

有什么方法可以让我的应用程序在 运行 处于后台时执行某些操作?我尝试做的是在按下电源按钮时发送短信。 这是我写的,当我在应用程序中时它当前有效:

  public boolean onKeyDown(int keyCode, KeyEvent event) {
    startService(new Intent(this, BackgroundService.class));
        if (event.getKeyCode() == KeyEvent.KEYCODE_POWER) {
            SmsManager smsManager = SmsManager.getDefault();
            smsManager.sendTextMessage(phoneNo, null, "Ich brauche Hilfe! Hier ist mein aktueller Standort, kannst du mir helfen kommen?" + "\n" + "http://maps.google.com/?q=" + lat + "," + lon, null, null);
            return true;
        }
    return super.onKeyDown(keyCode, event);
}

当您的应用不可见时,它不是 "running in the background." 它处于等待恢复或发布的休眠状态。要让它在此状态下明确执行某些操作,您需要设置一个后台服务,该服务将 运行 独立于您的应用程序。要开始,请查看此 Google 指南:http://developer.android.com/guide/components/services.html