答案 0 :(得分:0)
最简单的方法是使用Toast(简单直接)。更复杂的方式是,您必须授予2个特殊权限"借助其他应用程序"和" app具有使用权限" (这是特殊权限,因此您需要创建自己的页面以提示用户授予它),之后您可以将自定义视图直接添加到系统的Windows管理器。最后但并非最不重要的一点是,您应该认真思考,如果用户在主屏幕上收到关于 主页被停止或销毁之后的通知有什么好处,因为这违背了系统设计相当多。
答案 1 :(得分:0)
如果您只想发送消息,那么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
中撰写长信息并将其显示较长时间,而是考虑Statusbar Notification。状态栏通知可以在不再相关时以编程方式取消。
但如果您仍想增加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();
}
以下是它的工作原理:倒计时的通知时间短于根据标志显示toast的持续时间,因此如果倒计时没有完成,可以再次显示toast 。如果吐司仍然在屏幕上再次显示,它将在整个持续时间内保持不闪烁。倒计时结束后,即使显示持续时间未结束,也会取消Toast以隐藏它。