Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.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_Android Notifications_Android Alarms - Fatal编程技术网

为什么Android会忽略通知的创建?

为什么Android会忽略通知的创建?,android,broadcastreceiver,android-notifications,android-alarms,Android,Broadcastreceiver,Android Notifications,Android Alarms,我有代码,但它不起作用,所以我请任何人帮助我。关于这个具体问题的信息很少 main活动 AlarmReceiver(我知道我把它拼错了,但既然是这样,我就用它) 清单 这就是一切。我试着按原样运行它,但它没有向我显示任何东西。我在模拟器上运行它,这才是真正重要的 编辑:当我说它不起作用时,我的意思是什么都不会弹出。它运行正常,但通知从未弹出 问题是: 所以问题就缩小到安卓系统,忽略我的通知。问题是它没有告诉我原因,所以我无法修复它。这方面的专家们看到我的代码有什么问题吗?它

我有代码,但它不起作用,所以我请任何人帮助我。关于这个具体问题的信息很少

main活动



AlarmReceiver(我知道我把它拼错了,但既然是这样,我就用它)



清单




这就是一切。我试着按原样运行它,但它没有向我显示任何东西。我在模拟器上运行它,这才是真正重要的

编辑:当我说它不起作用时,我的意思是什么都不会弹出。它运行正常,但通知从未弹出

问题是:

所以问题就缩小到安卓系统,忽略我的通知。问题是它没有告诉我原因,所以我无法修复它。这方面的专家们看到我的代码有什么问题吗?它在模拟器上运行是否重要

Intent intent = new Intent(v.getContext(), AlarmReciever.class);
// intent.setAction("SOME_AWESOME_TRIGGER_WORD"); replace to:
intent.setAction("com.testproject.SOME_AWESOME_TRIGGER_WORD");
这至少是第一次看

UPD:

long firstTime = SystemClock.elapsedRealtime();

AlarmManager alarmManager = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, firstTime, /* INTERVAL IN MS */ 20 * 1000, /* PendingIntent */ intent);

嗯,关于通知的经验教训。我得到错误的原因是因为必须添加img,否则,它将不会显示!除了弗拉基米尔优雅地指出的以外,我所拥有的一切基本上都是正确的。在这里发布此消息,以防其他人在测试通知时遇到类似问题。

我遇到了相同的问题。如果在创建“new Notification()”时未指定图标,则不会显示通知。

这是因为您没有设置通知图标。如果您设置了Notification图标,它应该可以工作。日志本身表明,如果没有图像,则无法发送通知

好像你忘了设置图标。。您需要至少设置一个默认图标

试试这个

Notification.Builder builder = new Notification.Builder(c)
                         .setTicker(tickerText)
                         .setWhen(when)
                         .setContentTitle(arg1.getStringExtra("info"))
                         .setContentText("Success!!")
                         .setAutoCancel(true)
                         .setSmallIcon(R.drawable.ic_launcher); //<--- this one
Notification.Builder=new Notification.Builder(c)
.setTicker(tickerText)
.setWhen(when)
.setContentTitle(arg1.getStringExtra(“信息”))
.setContentText(“成功!!”)
.setAutoCancel(真)

.setSmallIcon(R.drawable.ic_发射器)//如果我去掉它,我应该如何更改清单文件的
标记?实际上,您可以从android清单的code+remove
部分中删除
intent.setAction(..)
。我刚刚做了。还是不行。不过谢谢你指出这一点。这是一个开始。请你具体说明一下,什么东西不起作用?在接收时未获得
onReceive
呼叫,或者存在异常?您可以尝试编写
Log.d(“TAG”、“onReceive”)
onReceive
以确保其已达到代码中的此点。要查看此消息,只需运行
adb logcat
无任何显示。它运行良好。但当我点击按钮时,它什么也不做。它应该在20秒内发出警报。但实际上,我将添加错误检查。很抱歉没有提供。给我一点时间运行它们,并确保
onReceive
实际运行。哈哈,是的。我希望医生们提到这一点。但嘿,试错是对的。现在其他人知道了:)
Intent intent = new Intent(v.getContext(), AlarmReciever.class);
// intent.setAction("SOME_AWESOME_TRIGGER_WORD"); replace to:
intent.setAction("com.testproject.SOME_AWESOME_TRIGGER_WORD");
long firstTime = SystemClock.elapsedRealtime();

AlarmManager alarmManager = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, firstTime, /* INTERVAL IN MS */ 20 * 1000, /* PendingIntent */ intent);
Notification.Builder builder = new Notification.Builder(c)
                         .setTicker(tickerText)
                         .setWhen(when)
                         .setContentTitle(arg1.getStringExtra("info"))
                         .setContentText("Success!!")
                         .setAutoCancel(true)
                         .setSmallIcon(R.drawable.ic_launcher); //<--- this one