如何找出哪个应用程序在后台访问手机通讯录?

时间:2013-02-27 14:06:39

标签: android contacts contactscontract android-contentresolver

我搜索了很多但没有找到任何有用的东西。 我创建了一个示例应用程序,它将读取和编写联系人并检查Android日志,但没有发现任何意图或任何显示我的联系人被app访问的东西。(我使用了内容解析器

阅读联系

Cursor phones = getContentResolver().query(
                    ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null,
                    null, null);  

并写入联系

ArrayList < ContentProviderOperation > ops = new ArrayList < ContentProviderOperation > ();
                 ops.add(ContentProviderOperation.newInsert(
                 ContactsContract.RawContacts.CONTENT_URI)
                     .withValue(ContactsContract.RawContacts.ACCOUNT_TYPE, null)
                     .withValue(ContactsContract.RawContacts.ACCOUNT_NAME, null)
                     .build());)

我可以在安装时检查应用程序权限,但我希望在其他应用程序访问我的联系人时捕获该事件。

1 个答案:

答案 0 :(得分:4)

你不能这样做。他们的Android系统不允许任何应用监控其他应用的活动。您最接近的是检查并列出所有拥有android.permission.READ_CONTACTS权限的应用。