Java 如何在onStop()或onDestroy()中显示弹出式或自定义toast?

Java 如何在onStop()或onDestroy()中显示弹出式或自定义toast?,java,android,user-interface,Java,Android,User Interface,我有一个应用程序如何在到达特定时间时发出通知。。。 当我的应用程序是在桌面上或在桌面上时,我想显示一些弹出窗口或自定义布局。 我想要这张照片 (点击放大)最简单的方法是用吐司(简单而直接)。更复杂的方法是,您必须授予两个特殊权限“使用其他应用”和“具有使用权限的应用”(这是特殊权限,因此您需要创建自己的页面以提示用户授予),然后您可以将自定义视图直接添加到系统的windows管理器中。最后但并非最不重要的一点是,您应该认真思考,在您的主页被停止或破坏后,在主屏幕上通知用户有关某件事是否对用户有

我有一个应用程序如何在到达特定时间时发出通知。。。 当我的应用程序是
在桌面上
在桌面上
时,我想显示一些弹出窗口或自定义布局。 我想要这张照片



(点击放大)

最简单的方法是用吐司(简单而直接)。更复杂的方法是,您必须授予两个特殊权限“使用其他应用”和“具有使用权限的应用”(这是特殊权限,因此您需要创建自己的页面以提示用户授予),然后您可以将自定义视图直接添加到系统的windows管理器中。最后但并非最不重要的一点是,您应该认真思考,在您的主页被停止或破坏后,在主屏幕上通知用户有关某件事是否对用户有任何好处,因为这与系统设计非常不符。

如果您只想发一条消息,那么
Toast
就足够简单了

    @override
    public void onStop() {
        Toast.MakeText(context, "Your message here", Toast.LENGTH_LONG).show();
    }

    @override
    public void onDestroy() {
        Toast.MakeText(context, "Your message here", Toast.LENGTH_LONG).show();
    }
< > > >编辑< /强>:我不建议您在<代码> toAST中写入长消息,并显示更长的持续时间,而应考虑。当状态栏通知不再相关时,可以通过编程方式取消它们

但是如果您仍然想增加Toast消息的持续时间,那么这里有一个解决方法

private Toast mToastToShow;
public void showToast(View view) {
   // Set the toast and duration
   int toastDurationInMilliSeconds = 10000;
   mToastToShow = Toast.makeText(this, "Hello world, I am a toast.", Toast.LENGTH_LONG);

   // Set the countdown to display the toast
   CountDownTimer toastCountDown;
   toastCountDown = new CountDownTimer(toastDurationInMilliSeconds, 1000 /*Tick duration*/) {
      public void onTick(long millisUntilFinished) {
         mToastToShow.show();
      }
      public void onFinish() {
         mToastToShow.cancel();
         }
   };

   // Show the toast and starts the countdown
   mToastToShow.show();
   toastCountDown.start();
}

其工作原理如下:倒计时的通知时间短于根据标志显示土司的持续时间,因此如果倒计时未完成,土司可以再次显示。如果在屏幕上再次显示土司,它将在整个过程中保持不变,不会闪烁。倒计时结束后,即使显示时间尚未结束,也会取消土司以隐藏它。

谢谢,先生。。但是吐司的持续时间很短。有没有办法延长持续时间是的,你可以将持续时间传递给makeText()怎么做?你真的读过这本书还是源代码?注意:持续时间不是长就是短。好吧,让我们面对现实:你要对用户说什么,为什么?请给出上下文,然后我告诉你你是否需要走艰难的道路:)因为请记住,用户离开你的应用程序,去做其他事情,所以你不能真正连接它10秒,因为她想去看新闻或其他任何东西。谢谢先生。。但是烤面包的时间很短,有没有办法延长时间duration@MaamounMedOussama您想显示多长时间?
Toast.LENGTH\u SHORT
显示2秒和
Toast.LENGTH\u long
显示3.5秒我想让用户在消失之前阅读所有内容10秒