【问题标题】:Show Dialog in non-activity class 1x/day在非活动类中显示对话框 1x/天
【发布时间】:2021-08-19 23:46:06
【问题描述】:

我希望每天在特定时间在我的 Android 应用上显示一次警报对话框。我创建了一个运行检查操作系统时间的线程的类,一旦时间匹配,我想在用户正在进行的任何活动中显示一个警报对话框。我试图传递当前上下文和当前活动,但由于对话框没有出现,所以两者都不起作用。有谁知道如何解决这个问题?这是我的非活动类中的两个函数。

void start_time_thread() {
        Thread thread = new Thread(() -> {
            Looper.prepare();
            while (true) {
                int currentHour = Calendar.getInstance().get(Calendar.HOUR_OF_DAY); //Current hour
                if (currentHour > hour || currentHour < hour) {
                    Log.d(TAG, "Current Hour: " + currentHour + " reminder hour: " + hour);
                } else {
                    int currentMin = Calendar.getInstance().get(Calendar.MINUTE); //Current min
                    if ((min - 1) == currentMin) {
                        showWarningAlert(CURRENT_CONTEXT);
                        break;
                    }
                }
                try {
                    Thread.sleep(5000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        });
        thread.start();
    }
 private void showWarningAlert(Activity activity) { //Added current activity
        AlertDialog alertDialog = new AlertDialog.Builder(activity).create(); //Use activity
        alertDialog.setTitle("Reminder");
        alertDialog.setMessage("Reminder msg");
        alertDialog.setButton(AlertDialog.BUTTON_NEUTRAL, "OK",
                new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.dismiss();
                    }
                });
        alertDialog.show();
    }

【问题讨论】:

    标签: android android-activity dialog android-context


    【解决方案1】:

    您需要使用:

    1- 工作经理 2- 报警管理器

    实现在特定时间向用户显示对话框,因为android系统为了电池优化而杀死了后台服务

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      相关资源
      最近更新 更多