问题标签 [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 投票
0 回答
1865 浏览

java - SMS Logger:如何监控传入/传出的短信活动?

我正在尝试创建 android (Froyo 2.2) SMS 日志记录应用程序。使用许多教程,我制作了应用程序的主要部分,它就像一个魅力!基本上它读取最后一条短信(发送或接收),通过电话号码获取联系人姓名,将毫秒 unixtime 转换为日期并在屏幕上显示结果。

现在我想删除 GUI,修改该代码,以便该应用程序将监视手机是否有任何传入/传出的短信活动,如果有,它将启动提到的代码并将结果保存到文件中。

我希望整个应用程序对用户完全透明/隐身(在后台工作)。我怀疑我必须以某种方式使用 ContentObserver 类,但我在实现方面遇到了一些问题(即使开始)。

你能帮忙吗?

当前代码:

0 投票
1 回答
979 浏览

java - SMS Logger:如何基于 ContentObserver 为应用创建 AndroidManifest.xml

我是android应用程序的新手...

我希望基于 ContentObserver 创建尽可能简单的 android 背景(无 gui)应用程序,该应用程序将监视任何 sms 输入/输出活动并通知我这一事实。

我有这个:

我知道对于 ContentObserver 我需要在 AndroidManifest.xml 中创建一个服务:

并在启动时授予应用启动权限:

但还是……错了……

我得到:无法实例化活动 ComponentInfo{com.example.smsnotify/com.example.smsnotify.SMSNotifyActivity}:java.lang.InstantiationException:com.example.smsnotify.SMSNotifyActivity

我的整个 AndroidManifest.xml:

0 投票
1 回答
2783 浏览

android - 如何在android中获取传出mms的地址

我花了 5 天时间尝试不同的东西,并在谷歌上搜索了很多,但都没有运气

我有一个广播接收器来监控和备份传入的彩信和短信。短信 - 传出和传入很容易没问题。然而彩信...

我有一个接收彩信的广播接收器,那里没问题。

然而,对于传出的彩信,我使用了一个指向 content://mms 的内容观察器

这是从服务类注册内容观察者的部分

这是上述内容观察器中的 onchange 部分

问题是地址列总是为传出的 mms 返回“插入地址令牌”。有没有什么办法可以得到 mms 的号码?

我还注意到,当消息处于草稿形式而不是发送或待处理消息时,会触发内容观察器。因为依赖这些uris通常是一个坏主意,因为它们不是sdk的一部分,所以我改用了另一种方法。对所有短信和彩信进行编目并存储它们的 _id 列,然后将它们与备份同步。但是我的问题仍然存在。

彩信地址栏始终为“插入地址令牌”

有什么建议么?

0 投票
3 回答
8593 浏览

android - Android 在电话簿更新时通知(内容观察者)

如果联系人数据库中有任何更改(添加,删除),我想在手机上收到通知。现在我正在使用 ContentObserver 来获取通知。以下是我的代码。问题是我无法知道哪个联系人改变了。有人可以帮忙吗???

提前致谢。

0 投票
1 回答
666 浏览

android - Android 如何观察 Opera 和 Dolphin 浏览器或所有浏览器

我正在 android 中实现网络阻止(家长控制)。我可以使用以下代码仅观察 Android 的默认 Internet 浏览器的 url 点击(当用户想要访问某个网站时):

但我无法观察其他浏览器,如 Opera 和 Dolphin。

请告诉我如何收听这些浏览器?

如果我必须提供 Browser.BOOKMARKS_URI 以外的东西?

0 投票
1 回答
3019 浏览

android - 即使没有更改联系人,也会调用内容观察者

我面临一个奇怪的问题,我正在使用ContentObserver来捕获联系人中的更改,但问题是onchange()即使我没有进行任何更改,也会调用该方法。这是我的代码:

任何人都可以帮忙吗?
提前致谢

0 投票
2 回答
3391 浏览

android - 如何处理 REST 调用、数据持久性、同步和观察 ContentProvider

我知道这个问题被问过太多次了,但我认为我试图针对的问题有点不同,可能更复杂。

我将开发一个使用RESTful Web Service的应用程序,并且需要满足以下要求:

  • 该应用程序应在列表中详细显示一些书籍、作者和编辑

  • 该应用程序还应该允许搜索一本书

  • 书籍、作者和编辑从 RESTful Web 服务中获取

  • 每个实体都必须被缓存,这样当我打开一个活动时,我首先会看到旧数据(如果有的话),而新数据则从网络更新。

  • 每次实体更新时,都应通知相关方(ContentObserver?定期Listener实施?)

  • 如果调用已经在执行(比如 toapi/books/1337或 to api/editors),则应该通知调用者它正在加载数据,并且应该给予旧的调用者(如果存在),就好像它是原始调用者一样。

  • 一些数据(只有书籍和作者)应该每 N 分钟更新一次(由用户决定),并且应该通知观察者(SyncAdapter?)

问题

在观看并研究了 Virgil Dobjanschi 在 Google I/O 2010 上提出的所有组件之后,我的疑惑是:

  1. 如何透明地处理任何调用者的“实体正在更新”概念?我应该ContentObserverContentProvider我必须实施的情况下使用吗?

  2. 如果我使用 aContentObserver我可以轻松地为单个实体设置状态标志(如 Dobjanschi 所建议的那样),例如UPDATINGINSERTING等。但是我应该如何处理列表?假设我想要一个书籍清单,我应该把状态标志放在哪里?我应该将它放在仅用于列表的状态表中吗?如果是这样,我应该观察两个Cursors,一个用于状态,一个用于实际列表(即 table/Content URI)。如果我要求的实体不存在(还)或者 REST 调用返回一个404? 如何处理回调?

  3. 如果我将所有 REST 方法放在一个 中**SyncAdapter**,我可以“强制”SyncAdapter从网络更新实体/实体列表(并因此将其放入正确的表中)吗?这样,状态标志将很有用。

  4. 可以SyncAdapter多个实体上工作(实际上是实体列表,因为我想不时更新书籍和编辑器),因为它只有一个performSync方法?

  5. 如果SyncAdapter用户在设备设置中禁用了我的实现,它将不会更新任何内容(这很好)。但是,如果用户在 Activity 中单击“更新书籍”按钮,我仍然可以调用该performSync方法,还是它也会被禁用?

0 投票
1 回答
7762 浏览

android - 用于 SMS 的 ContentObserver

我正在尝试提取发送的短信。我知道这没有 BroadcastReciver 。所以我发现我可以使用 ContentObserver 来监听数据库中的变化。

我该如何实施?我的目标是只发送新的短信并通过数据库上的 POST 发送

谢谢

0 投票
1 回答
1567 浏览

android - Android 中的 ContentObserver

我已成功监控传入的短信并将其发送到数据库以供稍后查看。我已阅读有关监控传出短信的信息,但我并不真正了解它是如何工作的。有人可以指导我如何使用 ContentObserver 编写代码来监控传出的短信吗?我将从我应该开始的地方发布我当前的所有传入 sms.need 指南的代码。

短信接收器.java

提前致谢。

0 投票
1 回答
1041 浏览

android - Android - ContentObserver 没有被调用

我正在尝试在更改联系人表时提取联系人。它工作正常,但现在不起作用。它只工作几次。我正在使用 ContentObserver 来获取事件。

这是注册 ContentObserver 的代码。我在服务上注册它以不断收听。

这是我提取联系人姓名和此内容时的代码: