Android Поделиться пользовательским файлом

Я создал свое собственное расширение файла (.oli). Если пользователь нажимает на файл с этим расширением, мое приложение запускается и загружает включенные данные. Это работает как ожидалось. Проблема в том, что я хотел бы предоставить пользователю моего приложения возможность поделиться файлом (пример: filename.oli).

Я реализовал это до сих пор:

public void shareFile(){
        File file = getShareableFile(); //Creates a .oli-file
        Intent shareIntent = new Intent(Intent.ACTION_SEND);
        Uri uri = Uri.fromFile(file);
        shareIntent.setType("*/*"); //Maybe the problem
        shareIntent.putExtra(Intent.EXTRA_STREAM, uri);
        shareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, name);
        startActivity(Intent.createChooser(shareIntent, getString(R.string.shareDatei)));
}

Проблема в том, что список приложений, которые считают, что могут обрабатывать общий доступ к моему файлу, очень велик из-за shareIntent.setType ("/"); Вот два случая, которые происходят, если вы делитесь с разными приложениями:

Если я выбираю почтовое приложение, такое как Gmail, чтобы поделиться своим файлом, оно работает так, как должно. Письмо включает в себя файл как filename.oli. Когда я нажимаю на него, мое приложение запускается.

Но если я выбираю, например, Quickmemo-приложение, я получаю сообщение, что этот файл не может быть передан этим.

В общем, я просто хочу показать приложения в списке выбора, которые могут обработать, чтобы поделиться моим файлом с расширением .oli. Как я могу это сделать? Заранее спасибо!

Ответы на вопрос(1)

Ваш ответ на вопрос