Articles of notificationmanager

GCM推送通知。 发布错误通知 – 无法展开RemoteViews:StatusBarNotification

要求是制作自定义通知,因为android的默认通知仅允许图像。 因此,我详细介绍了如何在扩展时附加自定义UI以进行通知,现成的答案是创建自定义视图并传递给通知管理器,并允许从API级别16开始。所以我做了一个,这里是我的布局xml代码 – filename:notification_custom_view_new: 我在代码中引用它的方式: private RemoteViews assignRemote(Bitmap bitmap, String title, String message){ RemoteViews expandedView = new RemoteViews(Application.getInstance().getPackageName(), R.layout.notification_custom_view_new); expandedView.setTextViewText(R.id.title, title); expandedView.setTextViewText(R.id.message, message); expandedView.setImageViewBitmap(R.id.big_picture, bitmap); expandedView.setImageViewResource(R.id.big_icon, R.mipmap.ic_launcher); expandedView.setTextViewText(R.id.time, getOnlyHrsMin()); return expandedView; } 将customview分配给通知管理器: if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { notification.bigContentView = assignRemote(bitmap, title, message); } 但是这给了我错误说错误的通知,我已经在stackoverflow上find了超过15个相同的问题没有正确的答案..有些人认为它是一个资源缺失,因此错误。 我确信从我的角度来看,没有任何值为null,也没有资源丢失错误在我的远程视图中没有传递。 任何帮助将不胜感激,而且我已经尝试了大约几天来跟踪错误,但似乎没有什么好事发生。 请帮帮我! 通知Obj Init: NotificationCompat.BigPictureStyle bigPictureStyle = new NotificationCompat.BigPictureStyle(); […]

通知服务中的android内存泄漏

我有一个服务,它会创建一个通知,然后定期用某些信息更新它。 电话崩溃并重新启动大约12分钟后,我相信这是由于以下代码中的内存泄漏造成我如何更新通知,有人请检查/建议我是否是这种情况和我我做错了。 的onCreate: mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); createNotification: private void createNotification() { Intent contentIntent = new Intent(this,MainScreen.class); contentIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); PendingIntent appIntent =PendingIntent.getActivity(this,0, contentIntent, 0); contentView = new RemoteViews(getPackageName(), R.layout.notification); contentView.setImageViewResource(R.id.image, R.drawable.icon); contentView.setTextViewText(R.id.text, “”); notification = new Notification(); notification.when=System.currentTimeMillis(); notification.contentView = contentView; notification.contentIntent = appIntent; } updateNotification: private void updateNotification(String text){ contentView.setTextViewText(R.id.text, text); mNotificationManager.notify(0, notification); […]

Android NotificationManager给我“无效小图标”错误

我和通知管理器有一个奇怪的错误。 @Override public void onMessageReceived(String from, Bundle data) { Log.i(TAG, “IP : ” + (String) data.get(“ip”)); NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); Intent acceptNextIntent = new Intent(MainActivity.BROADCAST_KEY_ACCEPT); // acceptNextIntent.putExtra(“ip”, (String) data.get(“blah”)); //add stuff here PendingIntent acceptNextPendingIntent = PendingIntent.getBroadcast(this, 0, acceptNextIntent, 0); Intent declineNextIntent = new Intent(MainActivity.BROADCAST_KEY_DECLINE); PendingIntent declineNextPendingIntent = PendingIntent.getBroadcast(this, 0, declineNextIntent, 0); NotificationCompat.Action acceptAction = […]

如何设置点击监听器以进行通知?

通过AlarmManager启动服务时,我使用以下代码启动通知: nm = (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE); CharSequence from = “App”; CharSequence message = “Getting Latest Info…”; PendingIntent contentIntent = PendingIntent.getActivity(this, 0, new Intent(), 0); Notification notif = new Notification(R.drawable.icon, “Getting Latest Info…”, System.currentTimeMillis()); notif.setLatestEventInfo(this, from, message, contentIntent); nm.notify(1, notif); 如何设置此项目的意图,以便当用户点击它时,它会启动某个活动?

如何在点击后正确清除所有通知?

我在通知栏上发送了一些通知,我希望在点击其中一个通知时清除所有通知。 现在我使用Flag逐个清除。 我知道notificationManager.cancelAll()可以清除所有通知但我应该放在哪里,这样我可以在点击一个通知后触发。 private static void generateNotification(Context context, String message) { int icon = R.drawable.ic_launcher; long when = System.currentTimeMillis(); NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); Notification notification = new Notification(icon, message, when); String title = context.getString(R.string.app_name); Intent notificationIntent = new Intent(context, MainActivity.class); // set intent so it does not start a new activity notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); […]

如何检测通知是否已被解除?

Android中是否有任何方法可以检测用户何时向左侧滑动通知并将其删除? 我正在使用闹钟管理器来设置重复警报,我需要在用户取消通知时停止重复警报。 这是我的代码: 设置重复提醒: AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE); alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), repeatFrequency, displayIntent); 我的通知代码: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //Get the notification ID. int notifID = getIntent().getExtras().getInt(“Reminder_Primary_Key”); //Get the name of the reminder. String reminderName = getIntent().getExtras().getString(“Reminder_Name”); //PendingIntent stores the Activity that should be launched when the user taps the notification. Intent i […]

如何使用声音和振动通知?

启动通知时,如何让设备振动或发出声音。 我听说过FLAGS。 但是我如何将它们用于声音和振动?

更新通知振动/铃声

我正在使用NotificationManager构build器在我的应用程序中显示一个警报。 我知道notify方法的第一个参数是一个id和框架将更新通知,如果它已经可见,但如果我设置警报播放铃声或振动,如果警报是铃声/振动也会触发更新? NotificationCompat.Builder nb = new NotificationCompat.Builder(this); nb.setContentTitle("title"); nb.setContentText("message"); nb.setSmallIcon(getResources().getIdentifier("drawable/alert", null, packageName)); nb.setWhen(System.currentTimeMillis()); nb.setAutoCancel(true); nb.setTicker("message"); final Uri ringtone = Uri.parse(PreferenceManager.getDefaultSharedPreferences(this).getString("ringtone", getString(R.string.settings_default_ringtone))); nb.setDefaults(Notification.DEFAULT_VIBRATE); nb.setSound(ringtone); nb.setDefaults(Notification.DEFAULT_LIGHTS); NotificationManager nm = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE); final Intent notificationIntent = new Intent(this, Main.class); notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); final PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); nb.setContentIntent(contentIntent); Notification notification = nb.getNotification(); nm.notify(0, notification);

推送通知接收时添加新的通知(而不是replace旧通知)

我在我的应用程序上使用推送通知。 我曾经在推送通知到来时显示通知,如果我发送另一个通知(不清除以前的通知),它会replace新的通知。 这是我使用的代码 NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); int icon = R.drawable.ic_launcher; CharSequence tickerText = "New notification Pending"; long time = System.currentTimeMillis(); Notification notification = new Notification(icon, tickerText, time); notification.flags = Notification.DEFAULT_LIGHTS | Notification.FLAG_AUTO_CANCEL; // Context context = getApplicationContext(); CharSequence contentTitle = "Notifications"; CharSequence contentText = newMessage; Intent notificationIntent = new Intent(this, LoginActivity.class); PendingIntent contentIntent […]

什么是“AutomaticZenRule”? 它是干什么用的?

背景 我只注意到NotificationManager一些函数处理一个叫做AutomaticZenRule的类: https://developer.android.com/reference/android/app/NotificationManager.html#addAutomaticZenRule(android.app.AutomaticZenRule) 和别的… 问题 看着AutomaticZenRule的文档,它还是不太了解它是什么,它可以用来做什么: 规则禅宗模式的实例信息。 我试过了 在互联网上search,我只能在Commonsware的博客文章中看到,他们想知道它是什么: 目前还不清楚AutomaticZenRule是什么… 实际上我已经发现了更多。 不是“禅模式”,而不是“AutomaticZenRule”。 问题 什么是“禅模式”? 什么是“AutomaticZenRule”,我能用它做什么? 它与通知有什么关系? 在Android N上有什么特别的东西,这个API被添加到这个版本? 有没有使用它的样本?