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. Как я могу это сделать? Заранее спасибо!