更改android打开文件的方式以触发系统服务功能

更改android打开文件的方式以触发系统服务功能,android,linux,java-native-interface,android-source,Android,Linux,Java Native Interface,Android Source,在AOSP代码中,当用户试图打开一个特定命名的文件时,我会在哪里添加触发自定义系统服务的代码 例如,如果用户在Android上的MicrosoftExcel上打开一个文件,我假设应用程序正在创建一个fileinputstream以在电子表格中读取 我按照上的说明操作,任何进程打开的所有文件都会反映在/proc中。我要么修改procfs以立即全面跟踪此类事件,要么在需求允许的情况下,退回到不那么深入的方法,在短时间内监控/proc 另请参见。您可能希望准确解释“用户尝试打开”的含义。@common

在AOSP代码中,当用户试图打开一个特定命名的文件时,我会在哪里添加触发自定义系统服务的代码

例如,如果用户在Android上的MicrosoftExcel上打开一个文件,我假设应用程序正在创建一个fileinputstream以在电子表格中读取


我按照

上的说明操作,任何进程打开的所有文件都会反映在
/proc
中。我要么修改procfs以立即全面跟踪此类事件,要么在需求允许的情况下,退回到不那么深入的方法,在短时间内监控
/proc


另请参见。

您可能希望准确解释“用户尝试打开”的含义。@commonware已编辑。感谢您,这并没有用技术术语解释“用户试图打开”或“用户打开文件”的含义,更不用说编程术语了。@Commonware我想知道Android中是否有一个系统层处理应用层发出的任何类型的调用,以创建一个从文件读取数据的流(例如FileInputStream)在现有的Java IO库中,有没有办法通过更改FileInputStream源代码来实现这一点?为什么?FileInputStream并不是所有文件访问的唯一公共点,即使您排除了非Java使用。由于我要执行的代码已经用Java编写,我更希望能够使用现有的Java库,而不是更深入。对于用Java编写的Android应用程序,文件访问的单一公共点是什么?在Android上,您有
libcore.io.IoBridge
,但这是一个实现细节,可以在下一版本中更改,恕不另行通知。事实上,我不确定这是否可以追溯到0.9。不需要修改内核-Linux已经有inotify,它作为FileObserver暴露在Android Java代码中