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 ответов

5 просмотров

Если я правильно понял, то тебе входной параметр надо добавить 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");

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

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

А чем вам питонисты не угодили?😂
.
79
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Dim Dim, [02.07.2024 11:07] DB 0x62 Dim Dim, [02.07.2024 11:07] DB 0x66 Dim Dim, [02.07.2024 11:07] кто пояснит что это?
Dim Dim
14
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
Кстати, я тут еще с одной темой столкнулся, вот учу я C++, на таком то ресурсе, а остальные постоянно советуют практиковаться, что то писать, проекты, но как писать если вот т...
aaswq1
7
Подскажите, можно ведь комбинировать запись данных в один и тот же Stream через TFileStream и через TCompressionStream поочерёдно? Ну т.е. часть данных мне нужно сжать, часть ...
notme
4
Ещё такой вопрос. Мне необходимо хранить пароль пользователя локально. Для этого планирую использовать ini файл. Это для автозаполнения полей логин и пароль при авторизации. Е...
Евгений
19
Кстати на работу никто не хочет, слегка на Сшке подписывать? От 170к в месяц, под Москвой
Andrey Ermakov
6
А подскажите вопрос. Запускаю приложение под дебагом, всё красиво дебажится. Копирую его в другую папку, запускаю, в делфи делаю атач ту процесс, бряки при этом перестают рабо...
Serjone
2
Карта сайта