问题标签 [contentobserver]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3753 浏览

android - 如何检测 Android 设备中的新应用

我想检测用户何时安装或删除应用程序,但我没有找到BroadcastReceiver这样做的。

在我的应用程序中,我通过 class 获取有关已安装应用程序的信息PackageManager,但我不想定期扫描应用程序。有没有BroadcastReceiver这样做的?或者任何ContentObserver?是否可以收到应用程序已安装或删除的通知?

0 投票
1 回答
3903 浏览

android - IntentReceiver 组件不允许注册接收意图

我正处于开发应用程序的最后阶段,今天当我从“睡眠”中恢复时,我的 Galaxy Nexus(运行 4.0.4)抛出了一条错误消息。电话已经闲置了大约一个小时左右。

不幸的是,我没有写下确切的错误消息,但我能够从 logcat 中提取以下内容。

我的应用程序有一个查看电话意图的 BroadcastReceiver,以及注册一些 ContentObservers 的服务。我在测试应用程序时没有收到错误消息。

有人可以查看 logcat 中的以下错误并帮助我确定我的应用程序是否会导致这些错误吗?

编辑

这是我所有与Receivers 相关的代码。我从来没有真正打电话registerReceiver。为了验证,我在 Eclipse 中运行了一个 FileSearch 来寻找registerReceiver.

这是我的清单:

这是我的服务:

这是我的广播接收器:

0 投票
1 回答
1537 浏览

android - 将手机联系人与应用同步

我想在我的应用程序中将电话联系人(姓名和电话号码)与我的 contentProviver“联系人”同步。所以我搜索并找到了两种方法:ContentOberver 和 SyncAdapter。

在我的情况下,我不需要与 Internt 连接,因此我只与我的应用程序的数据库同步。如果用户也删除了我想在我的数据库中删除的联系人,则更新或插入也是如此。

那么 ContentObserver 是这种情况下更好的方法吗?

有没有办法知道联系人的密钥?就像 db 中一行的键一样。如果是,我可以经常更新我的数据库(用户可以选择时间)。

0 投票
0 回答
958 浏览

android - 如何从 Android 的设备电话簿中获取有关哪些联系人被删除或更新的通知

使用ContentObserver我知道联系人数据库中发生了一些变化,但我需要知道哪个联系人已从设备联系人列表中删除或更新。有没有可以实现相同的工作示例?任何帮助,将不胜感激。

编辑

在电话簿中的所有联系人中,只有一个特定的联系人需要知道其内容是否已更改。在这种情况下,我可以只为一个特定的联系人而不是整个电话簿设置一个观察员吗?

0 投票
1 回答
5033 浏览

android - Sqlite 数据库更新触发服务通过 Content Observer 更新

当我的应用程序中的 sqlite 数据库发生任何更改时,我正在尝试使用 Content Observer 来更新服务。

我不知道该怎么做,所以我在下面整理了一些代码。通常,Content Observers 与带有后台服务的联系人或媒体播放器一起使用。在我的研究中,我读到它可以与手机上的 sqlite 数据库一起使用。

问题: 1.由于Sqlite数据库没有uri,我在什么信息People.CONTENT_URI替换

2. 在我的研究中,我没有找到任何可以进入数据库类的代码来提醒 ContentObserver。Content Observer 的所有代码都在服务类中工作吗?

请注意,此问题类似于Android SQLite DB 通知以及 如何侦听联系人数据库中的更改 这两个问题都没有明确回答我的问题。如果您有解释这一点的代码,那将非常有帮助。

这是我下面的半pusedo代码。这没用。我正在使用它来了解如何在数据库信息更改时更新服务。

0 投票
1 回答
8596 浏览

android - 如何使用 CursorAdapter 和 LoaderCallbacks 在片段中实现 ContentObserver?

我正在使用 aCursorAdapterListFragment加载和显示评论列表。

notifyChange()在我为插入操作添加的关联 ContentProvider中。

问题:

  1. null可以notifyChange()作为观察者参数传递吗?如果不是,我应该在这里通过什么对象?
  2. 我应该通过uri还是itemUri通过notifyChange()?为什么?
  3. 我必须调用什么方法CommentsObserver#onChange()来更新评论列表?
  4. 有没有我可以用的ListFragment而不是内部类实例实现的接口ContentObserver
  5. 我只是new Handler()在 的构造函数中实例化 a CommentsObserver。这对我来说似乎不正确 - 请解释一下。
0 投票
2 回答
924 浏览

android - 传递给 ContentObserver 以在 Jelly Bean 中发送 SMS 的正确 URI 是什么?

我正在尝试统计用户发送的传出 SMS 的数量。目前,我的代码是这样的:

我尝试在运行 Jelly Bean 的模拟器中运行该应用程序,由于某种原因,当我通过本机 SMS 应用程序发送短信时,它会将我的计数增加 3

现在,我决定替换content://smscontent://sms/sent相关的 StackOverflow 问答建议,但是当我使用该设置运行应用程序时,它甚至不会执行我的内容观察者的onChange(). 我该怎么办?

0 投票
2 回答
1043 浏览

android - CalledFromWrongThreadException:Android ContentObserver 和 Activity 接口

我有ListActivity一条短信ContentObserver。显示ListViewSMS 发送/接收。每当 SMS 数据库(发送/接收)发生变化时,观察者就会调用其中的一个函数Activity来更新ListView.

这在 FROYO 中工作正常。但在 ICS 我得到以下

android.view.ViewRootImpl$CalledFromWrongThreadException:只有创建视图层次结构的原始线程才能接触其视图。

请让我知道可能是什么问题。

以下是顶层代码。

0 投票
1 回答
3657 浏览

android - ContentObserver 与 BroadCastReceiver:电池使用情况、内存、CPU?

由于对应用程序的电池使用、内存和 cpu 使用有如此必要的关注,那么多个 contentobservers 与多个广播接收器的开销是多少?

示例 1:

使用 START_STICKY 运行的服务,使用 5 个正确注册/取消注册的内容观察器。

示例 2:

从清单中设置的 5 个广播接收器触发的服务。

示例 3:

使用 5 个注册广播接收器以 START_STICKY 运行的服务。

观察者和接收者之间的电池使用量/内存/cpu 的真正区别是什么?任何专业人士都可以对此发表意见吗?我假设 1 个实例不会有太大的不同,但让我们以上面的示例为例,同时运行 5 个。

0 投票
1 回答
2230 浏览

android - android Activity 和一个带有 sms contentobserver 的服务

我的应用要求

  • 该应用程序将有一个活动和一个服务。

  • 该服务有一个短信内容观察者。

  • 应用程序安装后,无论应用程序是否处于活动状态,服务都应始终运行

  • 服务内部的 contentobserver 的注册和注销应该由 Activity 控制。

  • 在卸载应用程序时,服务应该被销毁。

我尝试了一些代码。在服务的创建中,我已经对内容观察者进行了重新注册,并且在销毁时我取消了它的注册。我已经使用了活动的启动和停止服务。但即使在停止服务之后,内容观察者的 onchange 方法仍然会被调用。

请让我知道一些示例代码和此服务的清单定义。