如何在后台自动运行活动方法

时间:2014-08-18 13:23:13

标签: java android

如何在应用程序处于后台时自动运行此Activity的方法?该方法包含一个弹出对话框,在将数据发送到电子邮件之前询问用户输入。

public String TemperatureCatch()
    {
        Spinner reeferchoice = (Spinner)findViewById(R.id.optionselecti);
            String reeferChoicei = reeferchoice.getSelectedItem().toString();
            if (reeferChoicei.equals("Yes")) {
                final ToneGenerator tg = new ToneGenerator(AudioManager.STREAM_NOTIFICATION, 500);
                tg.startTone(ToneGenerator.TONE_CDMA_ABBR_ALERT);
                AlertDialog.Builder alert = new AlertDialog.Builder(this);
                alert.setTitle("Temperature");
                alert.setMessage("Input Temperature in F° (-20 to 65) ");
                final EditText input = new EditText(this);
                input.setInputType(InputType.TYPE_CLASS_PHONE);
                alert.setView(input);
                alert.setPositiveButton("Check-In", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int whichButton) {
                        temperaturei = input.getText().toString();
                        Toast.makeText(getBaseContext(), "Updated", Toast.LENGTH_SHORT).show();
                        Updater(temperaturei);
                    }
                });
                alert.show();
            } else if (reeferChoicei.equals("No")) {
                temperaturei = "DRY";
                Updater(temperaturei);
            }
        return temperaturei;
    }

2 个答案:

答案 0 :(得分:2)

  • 创建服务以使用Timer发送Intent。
  • 让意图包含一些数据,以便App知道它应该运行该方法。

http://developer.android.com/reference/android/app/Service.html

http://developer.android.com/reference/java/util/Timer.html

http://developer.android.com/reference/android/content/Intent.html

使用putExtra向您的应用提醒您正在发生的事情。

您还应该查看上一个问题How to set a timer in android

答案 1 :(得分:0)

创建一项服务,它在后台运行,您必须隐藏它的名称,以便其他人看不到它。

http://developer.android.com/reference/android/app/Service.html