Articles of notificationmanager

当我在Lollipop上更新(NotificationManager.notify)通知时,animation列表重新启动

当我的应用程序下载文件时,我已经实现了包含animation的通知,它完美地运行直到Lollipop出现。 public void createNotification(String filename) { mBuilder = new Notification.Builder(this); mBuilder.setContentTitle(filename); mBuilder.setContentText(getString(R.string.downloading)); mBuilder.setSmallIcon(R.drawable.notification_downloading); //mBuilder.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.downloading_1)); mBuilder.setProgress(100, 0, false); mBuilder.setAutoCancel(true); mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); mNotificationManager.notify(0, mBuilder.build()); } //Method to update progressbar public void updateNotification(int progress) { mBuilder.setProgress(100, progress, false); mBuilder.setContentText(getString(R.string.downloading) + ” ” + progress + “%”); mNotificationManager.notify(0, mBuilder.build()); } notification_downloading.xml 每次调用“mNotificationManager.notify”都会重新启动animation(仅限Lollipop) 如果我调用“设置大图标”,则此行为会继续发生 我不想设置不确定的进度 这是一个错误吗? 谢谢 […]

NotificationManager.cancel()不适合我

我一直在尝试使用以下方法删除服务设置的持久通知: startForeground(1337, notification); 我用来取消它的代码: NotificationManager nManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); nManager.cancel(1337); // cancel existing service notification, doesn’t take effect nManager.cancelAll(); //surpluous, but also doesn’t take effect 我在这里想念的是什么? 我很困惑。 为了澄清我为什么这样做:服务以默认的持久通知开始。 当我的应用运行时,它需要将此通知替换为另一个。 但是,对现有通知使用notify()可以很好地工作,我还需要它来显示新通知的自动收录器文本。 这就是为什么我决定删除现有的Notification(使用上面的代码),创建一个新的,然后我再次调用startForeground()并将新的Notification传递给它,所以我的服务仍然存在。

是否可以设置Android API级别10或更低级别的通知显示时间?

研究 我一直在查看API级别10的android文档中的NotificationManager类,但还没有find实现它的方法。 我也浏览了谷歌,但只find了如何设置通知实际设置的时间以及如何设置显示Toast通知小部件的时间长度。 目前已实施 我已经设置了FLAG_NO_CLEAR和FLAG_ONGOING_EVENT以保持通知图标存在,并在展开通知下拉列表后保持通知可见。 试图做 我试图在通知栏中显示通知的文本10秒而不是标准时间。 所以我基本上想要完成setDuration(int)函数在toast小部件中的function。 我想知道这是否可能,如果有的话,如果有人能指出我正确的方向如何实现它。

更新通知振动/铃声

我正在使用NotificationManager构建器在我的应用程序中显示警报。 我知道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);

是否可以取消所有具有特定标签的通知?

我正在制作一个Android应用程序,我想取消所有具有特定标签的通知。 现在,似乎只能通过其id(int id)或它们的id和标签来取消通知。 mNotificationManager.cancel(int id); 要么 mNotificationManager.cancel(String tag,int id); 我想能够取消所有String标签的通知,无论int id。 这可能吗?

notificationManager通过Id获取通知

有人知道以任何方式通过身份证获取通知吗? 如果仍然显示在Android的状态栏中,想要获取信息并将其添加到新通知中,我想要获得新通知。 谢谢。

如何为Android同步状态图标设置animation?

我只是想启动和停止状态栏中的同步图标。 我认为这将是一个使用NotificationManager的简单调用,但我无法在Web或SO上find文档或示例问答。

NotificationManager.cancel(id)在广播接收器内不起作用

Android:我正在尝试在安装软件包后取消通知栏中的通知。 我正在做的是以下内容: public class MyBroadcastReceiver extends BroadcastReceiver { private static final String TAG = “MyBroadcastReceiver”; @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (Intent.ACTION_PACKAGE_ADDED.equals(action)) { Uri data = intent.getData(); //some code goes here //get the id of the notification to cancel in some way notificationhelper._completeNotificationManager.cancel(id); } } } 哪里 public […]

Android:多个通知作为状态栏中的单个列表

我试图根据一些标准Notify用户。 Status Bar显示了Multiple Notifications ,但我想Group the notification in single notification进行Group the notification in single notification ,当用户在Status Bar单击时,我想要检索该组中的所有通知。 那可能吗? 或者我必须维护这些通知的PendingIntents ? 任何帮助将不胜感激。 例如,如果两个朋友的生日在同一天出现,则应显示2个通知。 我想结合这些通知,即状态栏中的2个通知,我想要一个,当用户点击它时,它应该有2个通知的信息。 可能吗? 请参阅以下代码以显示通知。 public void displayNotification(BirthdayDetail detail) { NotificationCompat.Builder builder = new NotificationCompat.Builder(this.context); builder.setSmallIcon(R.drawable.ic_launcher); builder.setContentTitle(detail.getContactName()); builder.setContentText(detail.getContactBirthDate()); Intent resultIntent = new Intent(this.context, NotificationView.class); resultIntent.putExtra(“name”, detail.getContactName()); resultIntent.putExtra(“birthdate”, detail.getContactBDate()); resultIntent.putExtra(“picture_path”, detail.getPicturePath()); resultIntent.putExtra(“isContact”, detail.isFromContact()); resultIntent.putExtra(“notificationId”, notificationId); if(detail.isFromContact()) […]

找不到符号NOTIFICATION_SERVICE?

package com.test.app; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; public class runOnBoot extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { NotificationManager nm = (NotificationManager)getSystemService(NOTIFICATION_SERVICE); } } 当我尝试构建软件包时,它说 compile: [javac] Compiling 2 source files to /home/mrburns/Desktop/myapp/bin/classes [javac] /home/mrburns/Desktop/myapp/src/com/test/app/runOnBoot.java:14: cannot find symbol [javac] symbol : variable NOTIFICATION_SERVICE [javac] location: class […]