首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >提示-通知- Android Lollipop

提示-通知- Android Lollipop
EN

Stack Overflow用户
提问于 2014-10-19 15:08:33
回答 9查看 56.1K关注 0票数 54

我想显示一个通知式的提醒,但我做不到。我试过的

代码语言:javascript
复制
final Notification.Builder notif = new Builder(getApplicationContext())
    .setContentTitle(getString(R.string.title))
    .setContentText(getString(R.string.text))
//  .setTicker(getString(R.string.tick)) removed, seems to not show at all
//  .setWhen(System.currentTimeMillis()) removed, match default
//  .setContentIntent(contentIntent) removed, I don't neet it
    .setColor(Color.parseColor(getString(R.color.yellow))) //ok
    .setSmallIcon(R.drawable.ic_small) //ok
    .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher))
//  .setCategory(Notification.CATEGORY_CALL) does not seem to make a difference
    .setPriority(Notification.PRIORITY_MAX); //does not seem to make a difference
//  .setVisibility(Notification.VISIBILITY_PRIVATE); //does not seem to make a difference

mNotificationManager.notify(Constants.NOTIFICATION_ID, notif.build());

通知仅显示为条形图中的图标。我在API 21模拟器(不是L预览)上使用API 21,我尝试过:

android:Theme.Holo.NoActionBar

android:Theme.Holo.NoActionBar.Fullscreen

NotificationCompat.Builder

SDK示例不可用。有人知道怎么做吗?

I通过添加:使其工作

代码语言:javascript
复制
.setDefaults(Notification.DEFAULT_VIBRATE)

这是最好的方法吗?

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2014-12-21 06:18:37

根据通知,你需要设置一个振动或铃声,以使提醒工作。但是,这里有一个不需要振动许可才能生成提醒通知的快速黑客攻击:

代码语言:javascript
复制
notificationBuilder.setPriority(Notification.PRIORITY_HIGH);
if (Build.VERSION.SDK_INT >= 21) notificationBuilder.setVibrate(new long[0]);

编辑:

不要滥用提醒通知。有关何时使用提示通知,请参见这里

MAX:对于提醒用户注意时间紧迫或需要解决的情况的关键和紧急通知,才能继续执行特定任务。 高级:主要用于重要的通信,如消息或聊天事件,内容对用户特别感兴趣。高优先级通知触发提示通知显示。

票数 87
EN

Stack Overflow用户

发布于 2014-10-22 08:57:14

据谷歌称:https://developer.android.com/design/patterns/notifications.html

如果将通知的优先级标记为High、Max或全屏,则会收到提醒通知。

因此,下面的代码应该生成一个提示通知:

代码语言:javascript
复制
.setPriority(Notification.PRIORITY_MAX)

应该就够了。但显然,.setDefaults(Notification.DEFAULT_VIBRATE)也必须设置。希望谷歌能在最后版本的Android5.0中解决这个问题。

不确定窃听器或特征..。

票数 16
EN

Stack Overflow用户

发布于 2015-09-21 17:47:28

我的所有应用程序都没有显示通知,例如,我有一个带有Android5.1.1的Nexus 6,但我认为这是一个问题,因为Android5.0,我不得不设置:

代码语言:javascript
复制
.setPriority(Notification.PRIORITY_HIGH)

正确设置和管理通知优先级

Android支持通知的优先级标志。此标志允许您相对于其他通知影响您的通知出现的位置,并有助于确保用户总是首先看到他们最重要的通知。在发布通知时,可以从下列优先级中进行选择:

MAX用于发出紧急通知,提醒用户注意时间紧迫或需要解决的情况,然后才能继续执行特定任务。 高级主要用于重要的通信,例如具有用户特别感兴趣的内容的消息或聊天事件。高优先级通知触发提示通知显示。 默认用于不属于此处描述的任何其他优先级的所有通知,如果应用程序不对自己的通知进行优先级排序 用于您希望用户了解但不那么紧急的通知。低优先级的通知往往会出现在列表的底部,这使得它们成为了公共或非定向社交更新的好选择:用户已经要求得到通知,但是这些通知永远不应该优先于紧急或直接的通信。 MIN用于上下文或背景信息,如天气信息或上下文位置信息。最低优先级通知不会出现在状态栏中。用户在展开通知阴影时会发现它们。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26451893

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档