我在这里查看了所有其他AUTO-CANCEL无法解决的问题,而且它们似乎都涉及到我没有犯的错误.我试过了两个
builder.setAutoCancel(true);
Run Code Online (Sandbox Code Playgroud)
和
Notification notif = builder.build();
notif.flags |= Notification.FLAG_AUTO_CANCEL;
Run Code Online (Sandbox Code Playgroud)
两者都不起作用.
我使用的是NotificationCompat,因为我的最小API是8.这是我的完整代码.在这个特定的通知中,我没有调用意图,因为我不需要用户做任何事情.
NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
builder.setContentTitle(getString(R.string.app_name) + ": my title");
builder.setContentText(message);
builder.setSmallIcon(R.drawable.notification_icon);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.prog_icon);
builder.setLargeIcon(bitmap);
builder.setAutoCancel(true); // dismiss notification on user click
NotificationManager notiManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
notiManager.notify(MY_NOTI_MANAGER_ID, builder.build());
Run Code Online (Sandbox Code Playgroud)
通知显示完美.您可以滑动以清除它.但只是点击它并不会忽略通知.它只是点亮并留在那里.
我的代码和其他人在这里发布的一些可能的差异:1)我正在使用NotificationCompat(这不应该有所作为,但我们之前已经听过).2)由于我的通知很简单,我没有附加意图.
如果您有任何见解,请告诉我.
编辑:我的目的是在没有前景我的后台应用程序的情况下解除通知.
我在构建结束时遇到以下错误:
错误:无法从'/Users/myname/Library/Developer/Xcode/DerivedData/myapp-ftieubjjfkuwyrhhleghfevbhxuu/Build/Intermediates/myapp.build/Debug-iphoneos/myapp.build/myapp-SBPartialInfo.plist'中读取数据:文件无法打开"myapp-SBPartialInfo.plist",因为没有此类文件.
我唯一能想到的是它是在大约一个小时前中止了一次构建的结果.
我已经清理过,退出Xcode,重启我的电脑 - 没有一个简单的修复工作正常.我检查了其他构建目录(Debug-iphonesimulator和Release-iphoneos),这两个目录都没有包含该文件.但模拟器和存档都正确构建.
Xcode错误是最糟糕的.