在Android中,如何监控其他应用程序';s sqlite数据库并更新某些行

在Android中,如何监控其他应用程序';s sqlite数据库并更新某些行,android,Android,我想实现一个Android应用程序,它可以监视另一个特定应用程序的sqlite数据库,并从表中删除一些特定行。工作计划如下: 打开特定的社交应用程序(如twitter),然后按 刷新/加载更多 社交应用程序发送HTTP请求以检索 资料 社交应用程序解析结果,并插入sqlite 数据库 [我的应用程序]我的应用程序监视表的更改和更新 几排 社交应用程序显示从sqlite到UI的记录( 我的应用程序删除的行将不会显示在UI中) 有可能开发这样的应用程序吗?我了解此应用程序需要root访问权限。但是如

我想实现一个Android应用程序,它可以监视另一个特定应用程序的sqlite数据库,并从表中删除一些特定行。工作计划如下:

  • 打开特定的社交应用程序(如twitter),然后按 刷新/加载更多
  • 社交应用程序发送HTTP请求以检索 资料
  • 社交应用程序解析结果,并插入sqlite 数据库
  • [我的应用程序]我的应用程序监视表的更改和更新 几排
  • 社交应用程序显示从sqlite到UI的记录( 我的应用程序删除的行将不会显示在UI中)

  • 有可能开发这样的应用程序吗?我了解此应用程序需要root访问权限。但是如果应用程序有根访问权限,我能实现这个目标吗?谢谢。

    只有当其他应用程序使用了
    ContentProvider
    并且允许我们访问时,才能执行此操作

    ContentProvider
    可在应用程序内部用于访问数据。如果数据应该与另一个应用程序共享,ContentProvider允许这样做

    许多Android数据源,例如
    联系人
    ,都可以通过
    内容提供者
    访问<代码>通常,ContentProviders的实现类为URI提供公共常量。


    要了解更多详细信息,请查看Adnroid Developer的这篇文章和这两篇文章,

    Ouch!我讨厌另一个应用程序弄乱我的应用程序的数据如果你的应用程序损坏了目标应用程序中的数据,你有没有考虑过这会对目标应用程序造成什么影响?这是有问题的应用程序应该公开的功能,而不是你强制使用的功能。谢谢你的评论。我只是想知道这是否可能。谢谢。如果目标应用程序的内容提供商的提供商是“android:exported=false”,那么即使我的应用程序具有根访问权限,它仍然无法访问它?我不建议您这样做,但如果您的应用程序具有根访问权限,您可以访问所有文件系统。是的,我可以这样做。但是我非常喜欢observer设计模式,不想做循环检查。这就是为什么我想知道即使设置为exported=false,我是否可以访问其他应用程序的ContentProviders。