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 t
14 2024-04-03
编程技术问答社区
如何改变一个声音的输出音量?
我正在使用此代码播放声音. 我想让用户能够更改声音音量.你能告诉我怎么做吗? NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); Notification notification = new Notification(); notification.sound = Uri.parse("android.resource://emad/raw/quarter"); 谢谢. 真的, emad 解决方案 使用 notification.audioStreamType = AudioManager.STREAM_MUSIC; context.setVolumeControlStream(AudioManager.STREAM_MUSIC);
0 2024-03-19
编程技术问答社区
安卓系统。将一个字符串数组中的随机项目放置到通知中
我希望我的应用程序能够从此字符串数组中选择一个随机项目: Quote 1 Quote 2 Quote 3 并将该项目在通知中发送给用户. (使用AlarmManager在用户选择的时间) 我相信我可以使用以下方法生成一个随机项目. 如何从a中获取随机值字符串阵列Android? 我会从这样的事情开始吗? NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this) .setSmallIcon(R.drawable.notification_icon) .setContentTitle("My notification") .setConten
4 2024-03-07
编程技术问答社区
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()可以很好地工作,但是,我还需要它显示新通知的股票文本.这就是为什么我决定删除现有通
对同一活动发出多个通知
我有一项从通知栏开放的活动,但是当我做NotificationManager.notify(...)时,我要付出不同的捆绑包,因此每个通知都会打开相同的活动,但是从db中获得了其他捆绑.彼此信息. 但是,当我尝试输入任何通知(例如,有3个通知)时,它们都将我带到了与最后一个捆绑包的活动中.尝试使用一些标志后,我真的不知道问题在哪里(有些标志使通知通过第一个捆绑包输入活动). 我正在遵循他们在教程. 解决方案 如果pendingIntent具有相同的操作,操作,数据,类别,组件和标志,则它将被替换. 根据情况,我通常通过提供唯一的请求代码为静态值(0,1,2)或我从DB收到的数据的行ID来解决此问题. PendingIntent.getActivity(context, MY_UNIQUE_VALUE , notificationIntent, PendingIntent.FLAG_ONE_SHOT); 然后,我使用相同的唯一值作为notify()为
4 2024-02-17
编程技术问答社区
使用安卓汽车时,通知没有显示出来
我遵循有关Udacity的教程和Android Auto的开发人员网站.我正在使用DVU进行测试.这些通知不会显示在DHU上,但在手机上显示是我的代码: 使用gcmlistenerservice: final PendingIntent contentIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_ONE_SHOT); final PendingIntent contentIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_ONE_SHOT); Intent msgHeardIntent = new Inten
安卓:为应用程序音频流以外的所有通知设置 "请勿打扰"(setInterruptionFilter)。
我已经构建了一个播放音频的应用程序,该应用在播放过程中不得被中断,因为它为其他设备提供了时间码信息,并且当设备之间播放不同的东西时(例如,电话)时将无法正常工作. 因此,我需要在播放音频时进行静音通知的解决方案. 到目前为止,我发现了: 先前设置权限并引导用户允许应用程序打开DND startActivityForResult(new Intent(Settings.ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS), 0); 我可以通过 激活"请勿打扰"(DND)模式 NotificationManager.setInterruptionFilter( NotificationManager.INTERRUPTION_FILTER_NONE) 但是也会静音我的应用程序的音频流. (请参阅 1 ) ) 只有在用户具有root访问权限时,才有可能阻止电话.我可以 向我的用户询问,也不会静音其他通知 i
12 2024-02-17
编程技术问答社区
在安卓系统中,我怎样才能知道当前的通知ID来清除通知呢?
现在,在Android中,我将此代码放入一个活动中,以显示按钮时显示通知. static int notificationCount = 0; 然后 btnNotification.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { Intent notificationIntent = new Intent(AlertsActivity.this,NotificationActivitty.class); PendingIntent pIntent = PendingIntent.getActivity(AlertsActivity.this,notificationCount
如何正确地清除一旦点击的所有通知?
我在通知栏上发送了一些通知,我想在单击其中一个通知时清除所有通知.现在,我通过使用标志一一清除.我知道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 =
8 2024-02-17
编程技术问答社区
安卓-通知管理器,拥有一个没有意图的通知
我希望能够发出通知以提醒用户已经完成的计时器,但是当您单击通知时,我不希望有意图. 我已经尝试在null中传递意图 String ns = Context.NOTIFICATION_SERVICE; NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(ns); int icon = R.drawable.icon; CharSequence tickerText = "Hello"; long when = System.currentTimeMillis(); Notification notification = new Notification(icon, tickerText, when); CharSequence contentTitle = "My notification"; CharSequence contentText =
2 2024-02-15
编程技术问答社区
通知重启我的活动和通知上的暂停按钮
当我按状态栏单击它时,我的通知会重新启动 当我启动应用程序时,它会从服务器流动音频并显示通知,直到我不从状态栏中清除该通知,因此我的问题是当我单击应用程序通知时,它重新启动了活动并停止流媒体音乐. 因此,请建议我解决方案,以便停止从通知再次重新启动应用程序,我想向我展示哪个通知在通知栏上,直到我退出应用程序 我也想在通知上显示暂停和播放按钮,所以请帮助我 public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); nm=(NotificationManager)getSystemService(NOTIFICATION_SERVICE); Intent intent = new Intent(this,MainActivit
6 2024-02-11
编程技术问答社区
应用程序被强制关闭时android AlarmManager的行为
我使用AlarmManager向用户发出本地通知.但是,如果我使用设置 - > apps->停止杀死我的应用程序,则警报管理器似乎被销毁,所有通知图标都从状态栏中消失了. 正常吗?本地通知的想法是说服用户启动我的出色应用程序,如果它已关闭.对我来说,如果我杀死该应用程序,他们正在被淘汰,这似乎很奇怪. 解决方案 如果您杀死了您的应用程序,则还会杀死AlarmManager. 没有什么奇怪的.您可以通过按Home按钮来关闭应用程序,而不是通过设置杀死该应用程序. 其他解决方案 使用服务设置AlarmManager和Notification. 还请记住,一旦设备重新启动警报被取消. 因此您需要设置广播接收器. 查看此单击此处
6 2024-02-11
编程技术问答社区
安卓通知显示错误的图标
我有一个带有图标IDS的静态数组: public static final int[][] ICON_IDS = { {R.drawable.ic_access_alarm_black_24dp, R.drawable.ic_access_time_black_24dp, R.drawable.ic_account_box_black_24dp, R.drawable.ic_add_black_24dp, R.drawable.ic_android_black_24dp, R.drawable.ic_clear_black_24dp, R.drawable.ic_delete_black_24dp }, { R.drawable.ic_settings_black_24dp, R.drawable.ic_airplanemode_active_black_24dp, R.drawable.ic_filter_list_black_24dp, R.drawable.i
8 2024-02-09
编程技术问答社区
安卓:新信息取代通知中的旧信息
来自 documenation Android中的NotificationManager: 公共空白通知(INT ID,通知通知) 发布将在状态栏中显示的通知.如果您的应用程序已经发布了具有相同ID的通知,并且尚未取消,则将被更新的信息替换. it will be replaced by the updated information. 我不希望更换旧信息,我想要两个通知. NB:每个通知都有自己的ID: notificationManager.notify(0, notification); notificationManager.notify(1, notification); 如何做? 解决方案 堆叠您的通知 如果您的应用程序创建通知,而另一种类型仍在等待中,则避免创建一个完全的新通知对象.而是堆叠通知. 堆叠的通知构建了摘要说明,并允许用户了解有多少特定类型的通知正在待处理. /a> 其他解决方案 公共void Noti
4 2024-02-06
编程技术问答社区
安卓系统上的通知管理器问题
我正在尝试使用按钮通知,但是通知和setlatesteventinfo都被弃用. 两个错误: 1.构造函数通知(int,char sequence,long)被弃用Notification notify = new Notification(android.R.drawable.stat_notify_more, "Hello all", System.currentTimeMillis()); 2.类型通知中的方法setLatestEventInfo(Context, CharSequence, CharSequence, PendingIntent)不适用于参数(Context, CharSequence, CharSequence, Intent) notify.setLatestEventInfo(context, title, details, intent); public class MainActivity extends Activity {
22 2024-02-06
编程技术问答社区
安卓通知管理器在屏幕关闭时无法工作
我有一个计数计时器,即当该计时器关闭(零)时,它会检查该应用程序是否具有焦点.如果没有,它将在通知栏中启动通知.当您单击通知时,将重新打开应用程序.现在所有这些都可以正常工作,但是如果屏幕恰好熄灭,计时器会继续进行,并且通知在正确的时间可用,但是直到我重新打开屏幕之前,就永远不会振动或戒指.然后它显示通知,就像它在队列中等待一样. 我如何获得它,以便在关闭屏幕时,通知管理器实际上会提醒用户? 更新:如果我将计时器设置2分钟,则需要另外2-3分钟的通知才能实际工作.所以它确实有效,但延迟很大! 代码:因此,当应用程序丢失焦点时,我设置了通知服务,而MyCount1完成后,请检查应用程序是否有焦点,如果不是,则显示通知.当屏幕背光打开时,这一切都起作用.一旦脱落,它就不可靠. @Override public void onWindowFocusChanged(boolean hasFocus){ if(hasFocus == false){
6 2024-02-06
编程技术问答社区
状态栏中的安卓搜索栏
我正在开发一个Android应用程序,我想在状态栏中添加卷控件.我可以在状态栏中添加一个搜索栏吗? 我曾与NotificationManager一起工作,并且我发现在通知栏中添加动画很难. 但是,任何人都可以建议我是否可以在状态栏中添加搜索栏(通知栏). 解决方案 简短答案:否. 长答案:您无法将侦听器添加到放置在NotificationBar上的小部件中.您无法尝试添加Intent以使用对话框为主题来调用Activity并在此处设有Seek Bar.
8 2024-02-04
编程技术问答社区
如何在右侧创建一个状态栏图标?(安卓)
Notification和NotificationManager用于创建要放置在屏幕左上角的图标. A Notification还需要在状态栏下拉上有一个条目. 但是,右侧的图标,例如电池,信号强度,无线指示器不需要在状态栏上进入任何条件. 如何制作此类图标,而不会在状态栏下拉下任何条目? 解决方案 我相信通知栏的右侧是为OS保留的. 其他解决方案 您为什么要接受上述答案. . .如果您采用Android源并自己构建,那么将图标设置在右侧并非不可能.我在此处通过此检查开始了一个新问题如何在右侧创建通知\状态栏图标?
10 2024-02-04
编程技术问答社区
什么是 "AutomaticZenRule"?它的用途是什么?
背景 我刚刚注意到NotificationManager处理称为AutomaticZenRule的类的功能: 和其他... 问题 查看 >,它仍然没有说明它是什么,以及它可以使用什么: ZEN模式的规则实例信息. 我尝试的 搜索互联网,我只能在a 目前尚不清楚什么是自动Zenrule ... 几乎没有更多关于它的信息.不是" ZEN模式",而不是"自动Zenrule". 问题 什么是" zen模式"? 什么是"自动Zenrule",我该怎么办?它与通知有何关系? 在Android N上有什么特别的,此版本添加了此API? 是否有用于使用的样本? 解决方案 zen模式只是不打扰(DND)模式的另一个名称. Android可以根据规则激活DND模式.这些规则可以由系统或第三方应用程序提供. 在以下屏幕截图中,您可以看到两个系统提供的规则,以及第三方应用程序" Pixel Ambient Servic
16 2024-02-02
编程技术问答社区
找不到符号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_SERVI
14 2024-02-02
编程技术问答社区