- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我是整个 Android 环境的新手,我通常会有一些疑问,也许你可以考虑非常基础的知识,但有点愚蠢。我会尽我最大的努力解释我的疑问以及为什么我有它让我理解。
我正在做一个应用程序,您可以在其中设置通知来提醒您想要的学者类(class)。我已经完成了一个扩展 BroadcastReceiver 的类,因此它可以在设备启动后重置所有警报。我有一个数据库,我在其中保存有关警报的信息:类、必须配置的时间等。我检索所有警报并以这种方式将它们设置到 alarmManager:
intent = new Intent(ctxt.getApplicationContext(), Notificacion.class);
intent.putExtra("TAG", tag);
intent.putExtra("SUBJECT", cursor2.getString(0));
intent.putExtra("AULA", cursor2.getString(1));
displayIntent = PendingIntent.getBroadcast(ctxt, Integer.parseInt(tag), intent, PendingIntent.FLAG_UPDATE_CURRENT );
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY*7, displayIntent);
好吧,我想这应该能正常工作到这里。问题是,当您使用该应用程序并且想要设置通知时,您是从“Schedule.class”类中进行操作,因此 Intent 将具有以下上下文:
Intent intent = new Intent(getApplicationContext(), Notification.class);
PendingIntent pend = PendingIntent.getBroadcast(this, Integer.parseInt(tag), intent, PendingIntent.FLAG_UPDATE_CURRENT);
在应用程序中,您可以删除闹钟,您必须调用 alarmManager.cancel(pend) 才能执行此操作。所以我怀疑它是否能够取消它。
如果上下文不同,它不会找到与未决 Intent 的匹配项,因为它是根据我在 BroadCastReceiver (ctxt) 的扩展中获得的上下文设置的,而警报是根据我从中获得的上下文设置的附表.class.
所以.. 应用上下文总是一样的吗?我知道设置上下文是为了向其他类提供有关正在发生的事情的信息,但我不确定 Intent 过滤器是否会区分提供上下文的位置。
提前致谢!
最佳答案
查看您正在使用的取消方法的 AlarmManager 文档:
public void cancel (PendingIntent operation)
Added in API level 1
Remove any alarms with a matching Intent. Any alarm, of any type, whose Intent matches this one (as defined by filterEquals(Intent)), will be canceled.
因此,Intent.filterEquals 文档说明如下:
public boolean filterEquals (Intent other)
Added in API level 1
Determine if two intents are the same for the purposes of intent resolution (filtering). That is, if their action, data, type, class, and categories are the same. This does not compare any extra data included in the intents.
我想不出有任何理由可以解释为什么操作、数据、类型、类或类别从一个显式 Intent 到另一个 Intent 会有所不同(除非,很明显,你特意改变了这些东西)。上下文似乎不在匹配条件中,因此我认为您可以相当有信心,无论最初使用哪个上下文创建它,它都会被取消。
关于android - 无论类别如何,应用程序上下文总是相同的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13614047/
出现以下错误 Network access for Distributed Transaction Manager (MSDTC) has been disabled. Please enable D
在调试应用程序时出现以下错误。 The CLR has been unable to transition from COM context 0x3b2d70 to COM context 0x3b2
在 GAE Go 中,为了记录,我们需要使用 appengine.NewContext(r) 创建一个新的上下文,它返回 context.Context。 如何使用此上下文在请求范围内设置/获取变量?
我想使用 Puppeteer 从放置在页面上 iframe 内的选择器中获取数据,该页面在与其父框架域不同的域上运行。因此,我不是任何域的所有者 - 无法使用 frame.postMessage。 试
我正在尝试获取可用的应用程序上下文并想切换到 webview 上下文,但 appium 仅获取 Navive App。 应用程序还启用了 WebView。 Appium 版本:1.10.1 Chrom
这个问题在这里已经有了答案: How to fix this nullOk error when using the flutter_svg package? (7 个回答) 7 个月前关闭。 当我尝
我观看了关于 Core Data 的 2016 WWDC 视频并查看了各种教程。我见过使用 Core Data Framework 创建对象以持久保存到 managedObjectContext 中的
这是代码 obj = { a: 'some value'; m: function(){ alert(this.a); } } obj.m(); 结果是'som
我正在尝试做类似的事情 $(".className").click(function() { $(this).(".anotherClass").css("z-index","1");
var User = { Name: "Some Name", Age: 26, Show: function() { alert("Age= "+this.Age)}; }; fun
我目前正在使用我见过的常见 Context 模式,它允许子组件通过传递修饰函数来更新父组件的状态(即 Provider)通过共享的 Context。 我遇到的问题是,修改函数只引用原始状态,不引用最新
有没有办法让 React Context类型安全与流类型? 例如: Button.contextTypes = { color: React.PropTypes.string }; 最佳答案 不幸
我想知道是否有一种方法可以为不同的功能使用不同的上下文类。 我希望有一个功能使用 MinkExtensions 进行浏览器测试,另一个功能使用和 HTTP 客户端(如 Guzzle)进行 API 测试
我有这个配置文件 apiVersion: v1 clusters: - cluster: server: [REDACTED] // IP of my cluster name: stag
我在实现非抢先式调度时遇到了用于初始化TCB的代码。 typedef struct TCB_t { struct TCB_t *next; struct TCB_t
我想将一个函数设置为数组中每个元素的属性,但使用不同的参数调用它。我想我会使用匿名函数来解决它: for ( var i = 0; i < object_count; i++ ) { obje
这个问题已经有答案了: How to access the correct `this` inside a callback (15 个回答) 已关闭 7 年前。 我正在做一些练习,但我在管道方法中丢
我正在尝试通过 Java 和 Android Studio 学习和制作 Android 应用程序。我对Java的了解程度是两年前几个小时的youtube学习和大学基础类(class)。不过我确实知道如
我在(这个)上遇到了问题。错误ImageView无法应用。我在 fragment 类中执行此代码。 ViewFlipper v_flipper; @Nullable @Override public
我想使用 openGL 的某些功能,但与渲染视觉内容无关。有没有办法在没有任何依赖性的情况下创建它(不是对 Windows,也不是某些包[SDL,SFML,GLUT])?只允许使用没有外部库的库,就像
我是一名优秀的程序员,十分优秀!