Articles of 通知

通知恢复活动

我知道,这种types有几个问题,但我尝试了所有这一切,但仍然无法正常工作。 好的,为我的应用程序; 我有一个活动。 在这个活动中,有4个标签,第四个标签包含一个列表和一个loggingbutton。 当我推动logging时,有一个GPS侦听器启动。 获得新的gps值后,将其推入列表中。 这工作到目前为止! 如果我点击主页button,它仍然有效,如果我长按它。 它恢复该活动打开特定的标签,列表仍然保持listitems和GPS侦听器仍然是活跃的。 这工作也很好! 现在我想添加一个通知,它显示列表的gps值为.number。 在每个新的GPS信号上,它都会用新的号码更新通知图标。 这是没有问题的,但点击通知的行动完全搞砸了我的应用程序。 实际的代码如下所示: public void callNotify(String text) { notif = new Notification(); Intent contentIntent = new Intent(this, tabactivity.class); contentIntent.putExtra("fid", this.specialvalue); contentIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); notif.icon = R.drawable.icon; notif.setLatestEventInfo(this, getString(R.string.app_name), text, PendingIntent.getActivity(this.getBaseContext(), 0, contentIntent, PendingIntent.FLAG_UPDATE_CURRENT)); notif.ledARGB = Color.RED; notif.ledOnMS = 200; notif.ledOffMS = 200; notif.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);

每天通知在某个时间

我想实现这一点: 第一次打开应用程序后,用户会收到通知,每天下午2点,如果某些条件是真的。 如果条件不成立,我们今天不会显示通知。 条件在下午2点检查,它从互联网下载一些数据。 到目前为止,我用AlarmManager和它的方法setRepeating()与24小时的时间间隔。 AlarmManager启动一个服务 。 在这项服务中,我正在下载数据,检查条件,如果是真的 – 显示通知 。 由于下载可以持续5秒以上,因此我已经为这个服务声明了android:process=":background" ,在单独的进程中运行它,而不会阻塞我的UI。 这种方法有两个缺点: 1:如果用户打开应用程序,比如下午4点(条件为真),他会立即收到通知。 来自setRepeating ()文档: 如果过去发生的时间,将立即触发警报,并根据过去的触发时间相对于重复间隔的距离来计算警报。 我想这个用户不会收到通知,这一天,只有第二天,等等。 2:我担心用户关机后不会显示通知。 从AlarmManager文档: 注册的警报在设备处于睡眠状态时保留(如果在此期间closures设备,可以select将设备唤醒),但是如果closures并重新引导,设备将被清除。 我不知道是否有可能使它一直工作。 如果你有任何想法如何使它更好,不客气。

如何在remoteViews中使用Glide?

我正在使用Glide从服务器的所有加载图像,但我有故障排除试图设置它们以正确的方式通知和RemoteControlClientCompat(这是一个很酷的东西与锁屏)。 我正在开发音乐播放器,所以每当歌曲改变时,通知中的歌曲封面也必须改变。 我有这个代码,它第一次工作(如果图像是从url或可绘制加载),但不是当它第二次调用。 图像不会改变! 当歌曲改变时,CustomNotification被调用。 并且在启动活动中调用RegisterRemoteClient。 如果这不是正确的方法,请告诉我如何。 public void CustomNotification() { Log.d(TAG, "Set custom notification"); simpleRemoteView = new RemoteViews(getApplicationContext().getPackageName(), R.layout.notification_custom); expandedRemoteView = new RemoteViews(getApplicationContext().getPackageName(), R.layout.notification_big); mNotification = new NotificationCompat.Builder(getApplicationContext()) .setSmallIcon(R.mipmap.ic_main_logo) .setTicker(mSongTitle + " – " + mSongAuthors) .setContentTitle(mSongTitle).build(); setRemoteListeners(simpleRemoteView); setRemoteListeners(expandedRemoteView); try { //Check if playingSong has a cover url, if not set one from drawable […]

通知一旦服务结束就消失

我有一个服务,刮伤数据的网站,然后在必要时给用户一个通知。 我遇到的问题是,服务closures(可能是即刻),通知消失。 下面的代码是应用程序所有的通知代码。 我没有放置任何代码来取消通知。 public static void CreateNotificationCompat(int notificationID, String link, String title, String text, Context ctx) { Intent notificationIntent = new Intent("android.intent.action.VIEW", Uri.parse(link)); PendingIntent contentIntent = PendingIntent.getActivity(ctx.getApplicationContext(), 0, notificationIntent, 0); NotificationManager nm = (NotificationManager) ctx .getSystemService(Context.NOTIFICATION_SERVICE); NotificationCompat.Builder builder = new NotificationCompat.Builder(ctx); Resources res = ctx.getResources(); builder.setContentIntent(contentIntent) .setSmallIcon(R.drawable.notify_icon) .setWhen(System.currentTimeMillis()) .setContentTitle(title) .setContentText(text) .setAutoCancel(false); Notification n = […]

Android:如何在Android 4.2上折叠状态栏?

有没有办法在Android 4.2上折叠通知栏? 我使用这个代码只适用于以前的Android版本: try{ Object service = c.getSystemService("statusbar"); Class<?> statusbarManager = Class.forName("android.app.StatusBarManager"); Method collapse = statusbarManager.getMethod("collapse"); collapse.setAccessible(true); collapse.invoke(service); }catch(Exception ex){} 请帮帮我…

Android通知只能播放声音

我在我的活动中有一个倒数计时器,当它达到零时,我发送一个通知状态栏,它也播放自定义的wav文件来提醒用户。 我只想要状态栏通知出现,如果用户不在当时使用的应用程序,但我仍然想播放wav文件,无论是否可见的定时器应用程序。 是否有可能使Android通知只播放audio警报? 我已经尝试使用MediaPlayer播放wav文件,而是使用自己的音量设置,而不是常规的通知音量,所以如果您的媒体音量低,通知声音播放也是我不想要的低音量。 我希望声音与其他通知的音量相同。 我使用这个: http : //developer.android.com/guide/topics/ui/notifiers/notifications.html 并提供这样的声音: notification.sound = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.notifysnd);

使用Firebase的聊天应用程序:收到新消息时收到通知 – Android

我正在开发一个使用Firebase实时数据库的聊天应用程序。 我已经能够正确地发送和接收消息。 现在,我希望在收到新消息时执行通知。 为此,我创build了一个使用ChildEventListener监听数据库更改的Service并创build通知。 问题是,我在onChildAdded方法中创build通知,并且此方法触发数据库中的现有节点和新的节点。 当用户从应用程序来回导航时,这会导致为相同的消息创build多次通知。 以下是我如何实施它: chatMsgsRef.orderByChild(FirebaseDBKeys.LOCATION_LAST_UPDATED).addChildEventListener(new ChildEventListener() { @Override public void onChildAdded(DataSnapshot dataSnapshot, String s) { ChatMessage message = dataSnapshot.getValue(ChatMessage.class); if (!message.getSenderId().equals(currentUserId)) { mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(NotificationsService.this) .setSmallIcon(R.drawable.message) .setContentTitle("New Message from " + message.getReceipientName()) .setContentText(message.getMessage()) .setOnlyAlertOnce(true) .setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION)); mBuilder.setAutoCancel(true); mBuilder.setLocalOnly(false); mNotificationManager.notify(NOTIFICATION_ID, mBuilder.build()); } } @Override public void onChildChanged(DataSnapshot dataSnapshot, […]

通知Android音乐播放器

如何从通知中的button控制音乐播放器,以及如何从通知中听button动作

如何显示多个通知作为一个组?

这里是我的通知代码。 它每次都会生成一个新的通知 Random random = new Random(); int m = random.nextInt(9999 – 1000); NotificationCompat.Builder mBuilder =new NotificationCompat.Builder(context) .setSmallIcon(R.drawable.quemark1) .setContentTitle("New Message") .setContentText(message) Intent intent = new Intent(this, ActivityMain.class); TaskStackBuilder stackBuilder = TaskStackBuilder.create(context); stackBuilder.addParentStack(ActivityMain.class); stackBuilder.addNextIntent(intent); PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT); mBuilder.setContentIntent(resultPendingIntent); NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); mBuilder.setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE); mBuilder.setAutoCancel(true); mNotificationManager.notify(m, mBuilder.build()); 这里是我的代码的输出