gpt4 book ai didi

android - 在 Jelly Bean 中向通知添加操作时的灰色按钮

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:03:41 26 4
gpt4 key购买 nike

我在我的应用程序中向通知添加了两个按钮,该通知设置为目标 API 级别 8。问题是这两个按钮显示为两个大的灰色按钮,与其余通知完全格格不入。我已经在 Nexus 7 和 Galaxy Nexus 上测试过它。

enter image description here

我见过的所有示例都有漂亮的黑色按钮,例如来电通知: http://www.androidng.com/wp-content/uploads/2012/07/android-jelly-bean-notifications.jpeg

我猜这很容易,但今天运气不好。有谁知道我可能在哪里走错了路?下面是我的代码 fragment ,它使用最新的支持库生成通知。

NotificationManager nm = (NotificationManager) this
.getSystemService(Context.NOTIFICATION_SERVICE);
android.support.v4.app.NotificationCompat.Builder builder = new android.support.v4.app.NotificationCompat.Builder(this);
builder.setContentIntent(contentIntent)
.setSmallIcon(R.drawable.ic_stat_radio)
.setContentTitle(message)
.setTicker(message)
.setPriority(android.support.v4.app.NotificationCompat.PRIORITY_HIGH)
.setWhen(System.currentTimeMillis())
.setAutoCancel(false)
.addAction(android.R.drawable.ic_btn_speak_now, "Play", contentIntent)
.addAction(android.R.drawable.ic_dialog_map, "Stop", contentIntent)
.setContentText(message);

Notification n = builder.build();

//nm.notify(0, n);
startForeground(1, n);

最佳答案

之所以会发生这种情况,是因为您的 AndroidManifest.xml 中的 targetSdk 是 < 11。

我相信当您以 11 为目标时发生的兼容性变化是默认主题,因为 Holo.由于您(和我)的目标小于 11,因此它采用了一些适用于这些按钮的兼容性主题,即使它不应该这样做。我假设即使您的应用程序/Activity 设置为 Holo,它实际上并不适用于通知,因为它们处于不同的进程中。

这只是我的猜测。使用 CommonsWare 的通知演示,只需修改 targetSdk 即可显示此行为。

关于android - 在 Jelly Bean 中向通知添加操作时的灰色按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12133759/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com