Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 通知立即出现_Android - Fatal编程技术网

Android 通知立即出现

Android 通知立即出现,android,Android,我正试图安排一个通知与所需的时间,并取消下面的代码我所需的时间,如果10秒后,但我不知道为什么它会立即显示通知,我做了什么错误?如果我在任何地方出错,并且我使用BlueStacks Emulator进行测试(内置版本4.4.2 Api 19),请纠正我的错误 通知立即出现 在最后一行中调用notificationManager.notify()时,它会立即显示通知 我假设您想使用AlarmManager显示通知,但您不太了解它的功能。AlarmManager用于安排要广播的Intent。意图可用

我正试图安排一个通知与所需的时间,并取消下面的代码我所需的时间,如果10秒后,但我不知道为什么它会立即显示通知,我做了什么错误?如果我在任何地方出错,并且我使用BlueStacks Emulator进行测试(内置版本4.4.2 Api 19),请纠正我的错误

通知立即出现

在最后一行中调用
notificationManager.notify()
时,它会立即显示通知

我假设您想使用
AlarmManager
显示通知,但您不太了解它的功能。
AlarmManager
用于安排要广播的
Intent
意图
可用于执行各种任务,例如启动
活动
服务
。据我所知,无法使用
意图
显示通知

您应该看到的是在
Handler
类中使用
postdayed()
方法。例如:

handler = new Handler();

final Runnable r = new Runnable() {
    public void run() {
        // Create your notification using NotificationCompat.Builder
        // and call notificationManager.notify()
    }
};

handler.postDelayed(r, /*time to delay for in ms*/);
编辑:如果您确实想使用
AlarmManager
和广播来显示通知,则需要扩展
BroadcastReceiver
并让它收听您的
PendingEvent
广播。接下来,您将计划使用
AlarmManager
广播
PendingEvent
。当
AlarmManager
在10秒后触发
PendingEvent
时,您的
BroadcastReceiver
将接收广播并调用
notificationManager.notify()
以显示通知。这是一种非常迂回的显示通知的方式

handler = new Handler();

final Runnable r = new Runnable() {
    public void run() {
        // Create your notification using NotificationCompat.Builder
        // and call notificationManager.notify()
    }
};

handler.postDelayed(r, /*time to delay for in ms*/);