我的用户拥有 Android 2.2+ 智能手机设备。每当设备上的任何应用程序访问设备的联系人列表、麦克风或相机资源时,我想暂停该应用程序,向用户弹出警告消息,并让用户决定是中止还是继续。
即使在应用程序安装时,用户可能已经(盲目地)授予这些应用程序访问这些资源的权限。
所以,我想编写一个 Android 系统服务来持续扫描代表联系人列表、麦克风和相机的文件描述符(或其他)。如果任何其他应用程序或服务/进程/线程尝试打开上述任何文件描述符,我将暂停它并向用户弹出 Toast 消息,例如:“应用程序“CHESS”正在尝试访问 CAMERA!!!关闭应用程序,还是继续?”;
我在 Android SDK 或 NDK 上找不到任何可以帮助我实现上述目标的东西。
甚至像“./data/lsof -w | grep audio”这样插入并在设备上运行的快速、肮脏和危险的Linux命令方法也没有任何帮助——我不知道什么是精确的Android资源要 grep 的名称,而且资源的文件描述符似乎一直处于打开状态,无论它们是否被访问!
谢谢,任何建议将不胜感激。