当前位置: 首页 > 面试题库 >

如何使AlertDialog框出现在应用程序外部?

濮阳钟展
2023-03-14
问题内容
@Override
public void run() {
    //Create thread that can alter the UI
    AlarmPage.this.runOnUiThread(new Runnable() {
        public void run() {
            cal = Calendar.getInstance();
            //See if current time matches set alarm time
            if((cal.get(Calendar.HOUR_OF_DAY) == alarmTime.getCurrentHour()) 
                    && (cal.get(Calendar.MINUTE) == alarmTime.getCurrentMinute())){
                //If the sound is playing, stop it and rewind
                if(sound.isPlaying()){
                    ShowDialog();
                    alarmTimer.cancel();
                    alarmTask.cancel();
                    alarmTask = new PlaySoundTask();
                    alarmTimer = new Timer();
                    alarmTimer.schedule(alarmTask, sound.getDuration(), sound.getDuration());
                }
                sound.start();
            }       
        }
    });
}

public void ShowDialog() {
    final AlertDialog.Builder alertDialog = new AlertDialog.Builder(this);

    alertDialog.setTitle("REMINDER!");
    alertDialog.setMessage("Turn off alarm by pressing off");

    alertDialog.setNegativeButton("Off", new DialogInterface.OnClickListener(){
        @Override
        public void onClick(DialogInterface dialog, int which) {
            Toast.makeText(getApplicationContext(), "OFF", Toast.LENGTH_SHORT);
        }
    });

    alertDialog.show();
}

我正在制作一个简单的闹钟应用程序,通知用户。我想制作一个警报框,使用户可以选择在警报关闭时将其关闭。我能够制作警报框,但它仅出现在应用程序中,而不出现在应用程序之外。我了解该应用必须在后台运行。如果我需要显示更多代码或更具体,请问一下。


问题答案:

将行添加为:

public void ShowDialog() {
    final AlertDialog.Builder alertDialog = new AlertDialog.Builder(this);

    alertDialog.setTitle("REMINDER!");
    alertDialog.setMessage("Turn off alarm by pressing off");

    alertDialog.setNegativeButton("Off", new DialogInterface.OnClickListener(){
        @Override
        public void onClick(DialogInterface dialog, int which) {
            Toast.makeText(getApplicationContext(), "OFF", Toast.LENGTH_SHORT).show();
        }
    });

    alertDialog.show();
    // line you have to add
    alertDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_TOAST);
}

现在检查。



 类似资料:
  • 问题内容: 我正在使用ROS开发用于多机器人系统的GUI,但是我在界面中的最后一件事就是冻结:将RVIZ,GMAPPING或其他屏幕嵌入到我的应用程序中。我已经在界面中放置了一个终端,但是无法绕开如何向我的应用程序添加外部应用程序窗口的问题。我知道PyQt5具有createWindowContainer,它使用窗口ID来停靠外部应用程序,但是我没有找到任何示例来帮助我。 如果可能的话,我想在应用程

  • 在NetBeans中,我创建了一个名为JFXDev的Java应用程序项目,其中包含一个COM包。在com包内部是一个主类,其代码如下: 修改项目属性: 1)库->Modulepath添加路径C:/Program Files/java/javafx-sdk-11.0.2/lib 2)库->类路径添加路径C:/Program Files/java/javafx-sdk-11.0.2/lib/javaf

  • 我需要帮助在外部服务器上运行/调试我的GWT应用程序,而不是使用默认的jetty服务器。我读了几个与这个问题相关的主题,例如。 > 在哪里编写gwt-noserver选项以避免jetty? 如何使用GWT和(常规servlet)Jetty后端设置eclipse http://www.gwtproject.org/doc/latest/devguideCompilinganddebugging.ht

  • 我在色调应用程序中使用saml函数时遇到了一个问题。 我做了所有我需要做的事情,遵循这个:https://docs.gethue.com/latest/administrator/configuration/server/#saml 环境 操作系统:ubuntu色调:4.5.0 步骤1.安装在下面 git gcc python开发swig openssl xmlsec1 libxmlsec1 op

  • 我有一个类,它使用了一个FIGEN客户端。以前,我使用Mockito,并为每个方法调用提供了一个存储的响应。现在我想使用WireMock,这样我就可以看到我的代码正确处理不同类型的响应代码。我该怎么做呢?我不知道如何在测试中连接我的Faignn客户端,并连接它,使它使用WiRemote ck而不是我在我的文件中设置的网址。任何建议都将不胜感激。

  • 我的控制器 我的主营 我还补充了