Для начала необходимо добавить код intent_filter в файле AndroidManifest для той Activity которая будет отвечать за обработку открытия файла с расширением .vnnt. Расширение может быть любым, желательно чтобы оно было уникальным.
<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:scheme="file" />
    <data android:scheme="content" />
    <data android:mimeType="*/*" />
    <data android:pathPattern=".*\\.vnnt" />
    <data android:pathPattern=".*\\..*\\.vnnt" />
    <data android:pathPattern=".*\\..*\\..*\\.vnnt" />
    <data android:pathPattern=".*\\..*\\..*\\..*\\.vnnt" />
    <data android:host="*" />
</intent-filter>
<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.BROWSABLE" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:scheme="http" />
    <data android:scheme="content" />
    <data android:host="*" />
    <data android:pathPattern=".*\\.vnnt" />
    <data android:pathPattern=".*\\..*\\.vnnt" />
    <data android:pathPattern=".*\\..*\\..*\\.vnnt" />
    <data android:pathPattern=".*\\..*\\..*\\..*\\.vnnt" />
</intent-filter>
<intent-filter android:label="@string/app_name">
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:scheme="content" />
    <data android:mimeType="application/octet-stream" />
</intent-filter>
Последний intent-filter необходим в случае использования Gmail или Samsung Email App в качестве e-mail. Для Outlook необходимо указать так же
<data android:mimeType="application/my-custom-extension"/>
Далее для получения содержимого файла в виде текста подойдет вот такой метод в Activity (необходим Intent полученный из getIntent() для получения Uri):
public void getContentName(Context context) {
Uri uri = getIntent().getData();
    try {
        InputStream inputStream = getContentResolver().openInputStream(uri);
        int size = inputStream.available();
        byte[] bytes = new byte[size];
        inputStream.read(bytes);
        inputStream.close();
        String jsonString = null;
        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {
            jsonString = new String(bytes, StandardCharsets.UTF_8);
        }
        AlertDialog.Builder builder = new AlertDialog.Builder(context);
        builder.setTitle("File Content");
        builder.setMessage(jsonString);
        builder.setPositiveButton("OK", null);
        builder.create().show();
    } catch (IOException e) {
        Toast.makeText(context, "Fail to read file", Toast.LENGTH_SHORT).show();
    }
}