Arquivo personalizado do Android Share

Eu criei minha própria extensão de arquivo (.oli) Se o usuário clicar em um arquivo com esta extensão, meu aplicativo iniciará e carregará os dados incluídos. Isso funciona como o esperado. O problema é que eu gostaria de dar ao usuário do meu aplicativo a oportunidade de compartilhar um arquivo (exemplo: filename.oli).

Eu implementei isso até agora:

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)));
}

O problema é que a lista de aplicativos que acham que podem lidar com o compartilhamento do meu arquivo é muito grande por causa do shareIntent.setType ("/"); Aqui estão dois casos que acontecem se você compartilhar com aplicativos diferentes:

Se eu escolher um aplicativo de e-mail como o Gmail para compartilhar meu arquivo, ele funcionará como deveria. O email inclui o arquivo como filename.oli. Quando clico nele, meu aplicativo é iniciado.

Mas se eu escolher, por exemplo, o aplicativo Quickmemo, recebo uma mensagem informando que esse arquivo não pode ser compartilhado por isso.

Então, apesar de tudo, só quero mostrar aplicativos na lista de opções que podem lidar com o compartilhamento do meu arquivo com a extensão .oli. Como faço isso? Desde já, obrigado!

questionAnswers(1)

yourAnswerToTheQuestion