В средстве выбора приложений НЕ отображаются такие приложения, как WhatsApp, Facebook Messenger и т. д.

Я хочу поделиться файлом Excel. В средстве выбора приложений отображаются такие приложения, как GMAIL, приложение EMAIL, но не отображается Whatsapp или мессенджер facebook. Вот мой код. Что еще мне нужно упомянуть?

Intent intentShareFile = new Intent(Intent.ACTION_SEND);
File fileInDownloads = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS),FILE);

intentShareFile.setType("application/excel");
intentShareFile.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(fileInDownloads));
startActivity(Intent.createChooser(intentShareFile, "Share File"));

person Radhika Parmar    schedule 15.05.2017    source источник


Ответы (2)


Я думаю, что WhatsApp или Facebook просто не зарегистрировались как приложения, которые могут обмениваться Excel файлами. Помните, что им нужно было сделать что-то вроде этого:

<intent-filter>
    <action android:name="android.intent.action.SEND" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:mimeType="application/excel" />
</intent-filter>

но не сделал. Может быть, вы можете загрузить файл куда-нибудь (например, на Google Диск) и поделиться ссылкой на него?

Вы также можете попробовать что-то вроде этого:

intentShareFile.setType("*/*");
person moritzg    schedule 15.05.2017
comment
когда у меня есть файл excel на моем мобильном телефоне, и когда я нажимаю кнопку «Поделиться», он ДЕЙСТВИТЕЛЬНО показывает мне WhatsApp и другие приложения в качестве опции. - person Radhika Parmar; 15.05.2017
comment
@RadhikaParmar В каком приложении вы делитесь файлом Excel? - person moritzg; 15.05.2017
comment
WhatsApp. В любом случае, какое решение? - person Radhika Parmar; 15.05.2017
comment
Привет @RadhikaParmar, если этот или любой другой ответ решил ваш вопрос, рассмотрите возможность принятия его, нажав на галочку. Это показывает более широкому сообществу, что вы нашли решение, и повышает репутацию как отвечающего, так и вас самих. Нет никаких обязательств делать это. - person moritzg; 16.05.2017

Это потому, что эти приложения не определили фильтр намерений для обработки таких типов MIME. Это задумано разработчиком, и вы ничего не можете сделать, чтобы этого избежать.

person Martin Revert    schedule 15.05.2017
comment
какое решение тогда? Тем не менее, файл Excel может быть передан с телефона из файлового менеджера и показывает все возможные приложения в средстве выбора. В моем приложении для Android при нажатии кнопки «Поделиться» должны отображаться все возможные приложения, но отображаются только некоторые из них. Пожалуйста, направляйте. - person Radhika Parmar; 15.05.2017
comment
Нет решения, потому что нет проблем, эти приложения не позволяют отправлять файлы Excel из другого приложения. - person Martin Revert; 15.05.2017
comment
@MartinRevert Это неправда, я только что проверил приложение SolidExplorer, и вы можете поделиться Excel (и многими другими файлами) в WhatsApp. - person moritzg; 15.05.2017
comment
Я говорю вам, как все должно быть, если вы уважаете решения других разработчиков и если вы являетесь добропорядочным гражданином экосистемы Android. Если вы хотите взломать решения других Android-разработчиков или использовать корневое приложение для объяснения своих решений, не обращайтесь со мной так, как будто я говорю неправду. - person Martin Revert; 15.05.2017
comment
@MartinRevert Я не использую рут-приложение - мой телефон даже не рутирован, он работает из коробки. А хорошо это или плохо - другой вопрос. - person moritzg; 15.05.2017