Here is how I defined your AndroidManifest.xml
<intent-filter>
<data android:scheme="file" />
<data android:mimeType="*/*" />
<data android:pathPattern=".*\\.*" />
<data android:host="*" />
</intent-filter>
The scheme of file indicates that this should happen when a local file is opened.
mimeType can be set to */* to match any mime type.
pathPattern is where you specify what extension you want to match. The .* at the beginning matches any squence of characters. These strings require double escaping, so \\. matches a literal period. Then, you end with your file extension. One caveat with pathPattern is that .* is not a greedy match like you would expect if this was a regular expression. This pattern will fail to match paths that contain a . before the .*.
Finally, according to the Android documentation, both host and scheme attributes are required for the pathPattern attribute to work, so just set that to the wildcard to match anything.