Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.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_Broadcastreceiver_Alarmmanager_Android Pendingintent - Fatal编程技术网

Android 单击状态栏通知后,意图未运行

Android 单击状态栏通知后,意图未运行,android,broadcastreceiver,alarmmanager,android-pendingintent,Android,Broadcastreceiver,Alarmmanager,Android Pendingintent,我正在我的应用程序上实现广播接收器。问题是,当应用程序运行时,无论何时收到通知,用户单击它,它都会正确地运行。但是,如果收到通知且应用程序未运行,则在第一次正确执行意图时。但除了在单击时删除通知外,什么也没发生。任何建议。如有必要,我将提供代码。这是一个常见问题 将这一行添加到您的意图中 intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); 在AndroidManifest.xml中

我正在我的应用程序上实现广播接收器。问题是,当应用程序运行时,无论何时收到通知,用户单击它,它都会正确地运行。但是,如果收到通知且应用程序未运行,则在第一次正确执行意图时。但除了在单击时删除通知外,什么也没发生。任何建议。如有必要,我将提供代码。

这是一个常见问题

将这一行添加到您的意图中

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);

在AndroidManifest.xml中设置意向过滤器,它将唤醒您的应用程序。

请详细说明或稍微具体一点。正如我前面所说,如果应用程序正在运行,则正确地发送通知。好的,只需始终将id更改为某个随机数。PendingEvent pIntent=PendingEvent.getActivity(此上下文、id、意图、PendingEvent.FLAG_UPDATE_CURRENT);是,并在活动@Override protected void onNewIntent(Intent Intent){super.onNewIntent(Intent);//getIntent()应始终返回最新的setIntent(Intent);}中添加此方法。重写此方法没有任何帮助。我认为他们的问题在于意图我添加了主要活动中使用的代码。我认为主活动被调用(当应用程序运行时),这就是通知工作正常的原因。但是,无论何时直接单击通知,它们都不会调用主活动,因此不会出现新的通知。他们有什么我可以提供给你的东西来解决这个问题吗