3

我的用户拥有 Android 2.2+ 智能手机设备。每当设备上的任何应用程序访问设备的联系人列表、麦克风或相机资源时,我想暂停该应用程序,向用户弹出警告消息,并让用户决定是中止还是继续。

即使在应用程序安装时,用户可能已经(盲目地)授予这些应用程序访问这些资源的权限。

所以,我想编写一个 Android 系统服务来持续扫描代表联系人列表、麦克风和相机的文件描述符(或其他)。如果任何其他应用程序或服务/进程/线程尝试打开上述任何文件描述符,我将暂停它并向用户弹出 Toast 消息,例如:“应用程序“CHESS”正在尝试访问 CAMERA!!!关闭应用程序,还是继续?”;

我在 Android SDK 或 NDK 上找不到任何可以帮助我实现上述目标的东西。

甚至像“./data/lsof -w | grep audio”这样插入并在设备上运行的快速、肮脏和危险的Linux命令方法也没有任何帮助——我不知道什么是精确的Android资源要 grep 的名称,而且资源的文件描述符似乎一直处于打开状态,无论它们是否被访问!

谢谢,任何建议将不胜感激。

4

1 回答 1

0

我同意以前的帖子说这可能是不可能的。但是,如果您正在部署自己的内核,那么这里有一个很好的建议线程:Android Kernel modifying

这里的这个线程也是你想要的类似的低级挂钩:http ://groups.google.com/group/android-developers/browse_thread/thread/821e5a413f0014d9

以下是如何为 android 编写驱动程序:http ://www.kandroid.org/online-pdk/guide/display_drivers.html 。可能您需要编写一个通用的驱动程序,并且只是替换您想要的现有驱动程序。然后,该驱动程序将指向旧驱动程序的备份位置,从而有效地包裹旧驱动程序。这样,您应该希望保留您编写的通用驱动程序,以及制造商驱动程序提供的相同行为和良好抽象。

于 2011-12-14T21:56:30.313 回答