169 похожих чатов

Добрый день! Я веб-разработчик, пытающийся в андроид. По ходу дела

возник затык.
1. Имеется приложение с WebView, и есть намерение вызывать нативный диалог Share с веб-страницы в WebView. Web Share API разумеется, не работает, а реализовать как бы надо.
2. На просторах интернета нашёл вариант реализации, где создаётся JavaScriptInterface для шейринга, который по идее может вызываться через JS, вот саму функцию поделиться надо реализовать самому (https://stackoverflow.com/questions/52723205/navigator-share-is-not-working-in-a-webview). Отдельно я погуглил, как делается этот вот шейр, нашёл непосредственно на сайте гугла пример, однако там используется startActivity(), которая в моём случае не работает (https://developer.android.com/training/sharing/send#java).
3. Скриншот монстра Франкенштейна прилагается

Подскажите, рабочий ли это вообще вариант, и если да, где я туплю?

9 ответов

10 просмотров

Если я правильно понял, то тебе входной параметр надо добавить Activity activity и вызывать activity.startActivity(shareIntent)

тебе нужно в этот интерфейс прокинуть ссылку на активити и из нее уже вызвать старт

Nijat-Mamedzadeh Автор вопроса

Я примерно понял, что этот метод должен вызываться в контексте активности, вот только чем мне инициализировать активность в данном случае - тут вот не могу понять.

у тебя класс без параметров, сделай контруктор с параметром активности и передай)

если выдернуть с ответа, то так будет mWebView.addJavascriptInterface(new JavaScriptShareInterface(this), "AndroidShareHandler");

Nijat-Mamedzadeh Автор вопроса

О-о-о, так значительно понятнее стало, спасибо огромное, буду пробовать в эту сторону.

Nijat-Mamedzadeh Автор вопроса

Единственный вопрос - у меня webView в фрагменте. Из фрагмента такую штуку вызывать можно?

this.requireActivity()

mWebView.addJavascriptInterface(new JavaScriptShareInterface(requireActivity()), "AndroidShareHandler");

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта