Как открыть файл URL на Android
Обновлено: 21.11.2024
Вы можете предоставить доступ к файлам и папкам, хранящимся на Google Диске, любому пользователю.
Когда вы делитесь файлом с Google Диска, вы можете указать, могут ли люди редактировать, комментировать или только просматривать файл. Когда вы делитесь контентом с Google Диска, применяются правила программы Google Диска.
Шаг 1. Найдите файл, которым хотите поделиться
Отправить один файл
- На компьютере откройте Google Диск, Документы, Таблицы или Презентации.
- Нажмите на файл, которым хотите поделиться.
- Нажмите "Поделиться" или "Поделиться" .
В Google Формах предусмотрены другие параметры общего доступа, чем в других типах файлов.
Шаг 2. Выберите, с кем поделиться и как они могут использовать ваш файл
Поделиться с определенными людьми
- Выберите файл, которым хотите поделиться.
- Нажмите "Поделиться" или "Поделиться" .
- В разделе "Поделиться с пользователями и группами" введите адрес электронной почты, с которым вы хотите поделиться.
- Чтобы изменить то, что люди могут делать с вашим документом, справа нажмите стрелку вниз "Просмотрщик", "Комментатор" или "Редактор".
- Выберите, чтобы уведомить людей.
- Если вы хотите уведомить людей о том, что вы поделились с ними документом, установите флажок "Уведомлять людей". Если вы уведомите людей, каждый введенный вами адрес электронной почты будет включен в электронное письмо.
- Если вы не хотите уведомлять людей, снимите этот флажок.
- Нажмите "Поделиться" или "Отправить".
Вы можете отправить другим людям ссылку на свой файл, чтобы любой, у кого есть ссылка, мог его использовать. Когда вы делитесь ссылкой на файл, ваше имя и адрес электронной почты будут видны как владелец файла.
- Выберите файл, которым хотите поделиться.
- Нажмите "Поделиться" или "Поделиться" Получить ссылку.
- В разделе "Получить ссылку" нажмите на стрелку вниз .
- Выберите, кому предоставить доступ к файлу.
- Чтобы решить, что люди могут делать с вашим файлом, когда вы им поделитесь, выберите «Просмотрщик», «Комментатор» или «Редактор».
- Нажмите Копировать ссылкуГотово.
- Скопируйте и вставьте ссылку в сообщение электронной почты или в любое другое место, где вы хотите ею поделиться.
- Выберите файл, которым хотите поделиться.
- Нажмите "Поделиться" или "Поделиться" Получить ссылку.
- В разделе "Получить ссылку" нажмите Изменить на любого, у кого есть ссылка.
- Чтобы решить, что люди могут делать с вашей общедоступной ссылкой, когда вы ею делитесь, выберите «Просмотрщик», «Комментатор» или «Редактор».
- Нажмите "Готово".
- Скопируйте и вставьте ссылку в сообщение электронной почты или в любое другое место, где вы хотите ею поделиться.
Люди, которые не вошли в аккаунт Google, отображаются в вашем файле как анонимные животные. Узнайте больше об анонимных животных.
Общий доступ и совместная работа над файлом со многими людьми
В любое время файл Документов, Таблиц или Презентации Google можно редактировать не более чем на 100 открытых вкладках или устройствах. Если открыто более 100 экземпляров файла, редактировать файл могут только владелец и некоторые пользователи с правами на редактирование.
Чтобы поделиться файлом и совместно работать над ним с очень широкой аудиторией:
Опубликовать файл
- Если вам нужно, чтобы файл одновременно просматривали несколько человек, опубликуйте его и создайте ссылку, которой можно поделиться со зрителями. Вы можете предоставить доступ на редактирование людям, которым нужно редактировать или комментировать файл. Узнайте, как опубликовать файл.
- В зависимости от настроек вашей учетной записи публикация файла делает его видимым для всех в Интернете, для всех в вашей организации или для группы людей в вашей организации. Будьте осторожны при публикации личной или конфиденциальной информации.
- Важно! Если у вас есть рабочая или учебная учетная запись, ваш администратор может ограничить круг лиц, которые могут просматривать опубликованный файл. Если вы администратор, узнайте, как контролировать, кто может публиковать документы в Интернете.
Создать сайт Google
-
делиться информацией со многими людьми. На сайт можно встраивать документы, электронные таблицы и презентации, которые может просматривать большое количество пользователей. Узнайте, как встраивать документы на сайт.
- Если вы ожидаете высокого трафика на свой сайт, сначала опубликуйте свой документ в Документах, Таблицах или Презентациях Google, а затем вставьте опубликованный URL-адрес в Сайты Google. Узнайте, как опубликовать файл.
Собирайте отзывы с помощью Google Forms
- Если вам нужно собрать много информации, создайте форму Google. Ответы будут записаны в Google Sheet. Предоставьте доступ к редактированию только тем людям, которым необходимо работать с ответами. Чтобы ответы могли просматривать более 100 человек, опубликуйте электронную таблицу в Интернете и создайте ссылку, чтобы поделиться ею со зрителями. Узнайте, как опубликовать файл.
Устранение проблем с документами, к которым предоставлен доступ многим пользователям
Если ваш документ открыт для большого количества людей, и он дает сбой или не обновляется быстро, попробуйте эти советы по устранению неполадок:
- Вместо того, чтобы позволять людям комментировать документ или таблицу, создайте форму Google для сбора отзывов. Узнайте, как создать форму Google.
- Если вы делаете копию документа, не включайте разрешенные комментарии и предложения. Узнайте, как сделать копию.
- Удалите старую информацию или переместите данные в новый документ.
- Попросите зрителей закрыть документ, когда они им не пользуются.
- Включайте в опубликованный документ только самую важную информацию. Более короткие документы загружаются быстрее.
- Сократите количество людей, имеющих доступ к редактированию документа.
- Если вы собираете информацию из нескольких документов, создайте новый документ только для просмотра, чтобы поделиться им с большим количеством людей.
Ограничение доступа к файлу
Когда вы делитесь файлом с кем-то, вы можете выбрать, что они могут с ним делать.
- Просмотрщик: люди могут просматривать, но не могут изменять файл или делиться им с другими.
- Комментатор: люди могут оставлять комментарии и предложения, но не могут изменять файл или делиться им с другими.
- Редактор: пользователи могут вносить изменения, принимать или отклонять предложения и делиться файлом с другими.
Когда вы делитесь ссылкой на файл, вы сами определяете, насколько широко будет распространяться файл. Эти параметры зависят от того, какой у вас аккаунт Google: рабочий, учебный или Gmail.
Как открыть URL-адрес из кода во встроенном веб-браузере, а не в моем приложении?
но у меня есть исключение:
Почему это не работает на некоторых устройствах? даже если есть веб-браузер, он переходит в ActivityNotFoundException.
Я вижу ту же проблему, что и @Manu. Базовая установка на Nexus 6, есть Chrome, но ссылки вызывают исключение.
40 ответов 40
Мне это подходит.
Что касается отсутствующего "http://", я бы сделал что-то вроде этого:
Я бы также, вероятно, предварительно заполнил ваш EditText, который пользователь вводит URL-адресом, с помощью «http://».
Вам нужна проверка null с помощью resolveCheck . См. официальные документы: Внимание: если на устройстве нет приложений, которые могут получить неявное намерение, ваше приложение аварийно завершает работу при вызове startActivity(). Чтобы сначала убедиться, что существует приложение для получения намерения, вызовите метод resolveActivity() для объекта Intent.
Распространенный способ добиться этого — использовать следующий код:
которую можно изменить на версию с коротким кодом .
самый короткий! :
Пожалуйста, взгляните на конструктор намерения:
Затем просто вызовите startActivity(Intentintent), чтобы запустить новое действие, связанное с Intent с заданным URL-адресом.
Если на устройстве нет приложений, которые могут получить неявное намерение, ваше приложение аварийно завершает работу при вызове startActivity(). Чтобы сначала убедиться, что приложение для получения намерения существует, вызовите метод resolveActivity() для объекта Intent. Если результат не нулевой, существует по крайней мере одно приложение, которое может обработать это намерение, и можно безопасно вызывать startActivity(). Если результат нулевой, вы не должны использовать намерение и, если возможно, вам следует отключить функцию, которая вызывает намерение.
Вы можете написать в одну строку при создании экземпляра Intent, как показано ниже:
В версии 2.3 мне повезло больше
Разница заключается в использовании Intent.ACTION_VIEW, а не строки "android.intent.action.VIEW"
Этот ответ мне очень помог. Я не знаю, в чем разница, но у нас была проблема с 2.3, которую это решило. Кто-нибудь знает, в чем разница в реализации?
Согласно разработчику Android: этот ответ — «Создайте намерение с заданным действием. Все остальные поля (данные, тип, класс) пусты». и принятый ответ — «Создать намерение с заданным действием и заданным URL-адресом данных».
или, если вы хотите, чтобы веб-браузер открывался в вашей деятельности, сделайте следующее:
и если вы хотите использовать управление масштабированием в своем браузере, вы можете использовать:
Обратите внимание, что плагины и тому подобное отключены в WebView и что потребуются разрешения INTERNET. (ссылка)
Если вы хотите показать пользователю диалог со всем списком браузеров, чтобы он мог выбрать предпочтительный, вот пример кода:
если есть несколько приложений, которые могут обработать намерение, система автоматически предоставит средство выбора, верно?
Точно так же, как и решения, написанные другими (которые отлично работают), я хотел бы ответить на то же самое, но с советом, который, я думаю, большинство предпочло бы использовать.
Если вы хотите, чтобы приложение, которое вы запускаете, открывалось в новой задаче независимо от вас, а не оставалось в том же стеке, вы можете использовать этот код:
Есть также способ открыть URL-адрес в пользовательских вкладках Chrome . Пример в Котлине:
Защитит ли создание новой задачи исходное приложение от ошибок и сбоев в случае проблем с веб-браузером?
@TheOriginalAndroid Я не понимаю, какое это имеет отношение к сбоям и веб-браузеру. Пожалуйста, объясните, что вы пытаетесь сделать.
Спасибо за ответ. Ваш пост интересен. В чем преимущество открытия новой задачи, особенно для веб-запуска?
@TheOriginalAndroid Только для того, чтобы пользователь мог вернуться к вашему приложению, а затем снова к веб-браузеру. Если вы откроете экран недавних задач, вы увидите здесь 2 задачи вместо одной.Кроме того, вместо того, чтобы видеть миниатюру веб-браузера в одной задаче (которая относится к задаче вашего приложения), вы увидите 2: одно из вашего приложения и другое из веб-браузера. Думаю, так будет меньше путаницы.
Ответ Котлина:
Я добавил расширение на Uri, чтобы сделать это еще проще
В качестве бонуса вот простая функция расширения для безопасного преобразования строки в Uri.
Это не добавляет ничего интересного. Даже не будет работать, если нет приложения, обрабатывающего URL. Произойдет сбой с исключением.
На всех устройствах должно быть установлено приложение для обработки URL. При необходимости вы можете добавить собственную обработку сбоев/исключений,
Другой вариант При загрузке URL в том же приложении с помощью веб-просмотра
Обратите внимание, что плагины и тому подобное отключены в WebView и что потребуются разрешения INTERNET. (ссылка)
Также можно пойти этим путем
В манифесте не забудьте добавить разрешение на доступ в Интернет.
Это интересно и необычно. Я предполагаю, что таким образом пользователь видит веб-браузер в моем приложении. Это правильно? Я голосую.
Webview можно использовать для загрузки URL в ваше приложение. URL-адрес может быть предоставлен пользователем в текстовом виде или вы можете жестко закодировать его.
Также не забывайте о разрешениях на доступ к Интернету в AndroidManifest.
В блоке try вставьте следующий код. Android Intent использует непосредственно ссылку в фигурных скобках URI (унифицированный идентификатор ресурса), чтобы определить местоположение вашей ссылки.
Вы можете попробовать это:
Версия с коротким кодом.
Простота и эффективность
Способ 1:
Способ 2:
Итак, я долго искал это, потому что все остальные ответы открывали приложение по умолчанию для этой ссылки, но не браузер по умолчанию, и это то, что я хотел.
Наконец-то мне это удалось:
Кстати, вы можете заметить контекст .независимо, потому что я использовал это для статического метода util, если вы делаете это в действии, это не нужно.
Добро пожаловать, новичок. пожалуйста, сделайте ответ более полным, объявив переменные, которых нет в исходном коде.
Теперь доступны пользовательские вкладки Chrome:
Первый шаг — добавить библиотеку поддержки настраиваемых вкладок в файл build.gradle:
А затем, чтобы открыть пользовательскую вкладку Chrome:
Простой просмотр веб-сайта через намерение
используйте этот простой код, чтобы просмотреть свой веб-сайт в приложении для Android.
Добавить разрешение на доступ в Интернет в файле манифеста,
Короткая и приятная вспомогательная функция Kotlin:
Новый и лучший способ открыть ссылку с URL-адреса в Android 11.
Я проверил все ответы, но в каком приложении есть прямые ссылки с тем же URL, который хочет использовать пользователь?
Сегодня я получил это дело и ответил: browserIntent.setPackage("browser_package_name");
Хороший ответ. В нем объясняется, как открыть Intent URL в конкретном браузере (напрямую), не полагаясь на выбор браузера системой.
Отлично, проверенная ссылка откроется в браузере Chrome, а не в вашем приложении, но что, если Chrome не установлен, вам также нужно обработать этот случай.
На основе ответа Марка Б и комментариев ниже:
android.webkit.URLUtil имеет методgueUrl(String), отлично работающий (даже с file:// или data:// ), начиная с уровня API 1 (Android 1.0). Использовать как:
В вызове Activity:
Для получения дополнительной информации см. полный код GuessUrl.
Просто выберите короткий, чтобы открыть URL-адрес в браузере:
Эта ошибка произошла из-за недопустимого URL-адреса. ОС Android не может найти представление действий для ваших данных. Итак, вы проверили, является ли URL-адрес действительным или нет.
Я думаю, что это лучший
Поместите приведенный ниже код в глобальный класс
В этом способе используется метод, позволяющий вводить любую строку вместо фиксированного ввода. Это позволяет сэкономить несколько строк кода при многократном использовании, поскольку для вызова метода требуется всего три строки.
Использование этого метода делает его универсальным. ИТ не нужно помещать в какое-то конкретное действие, вы можете использовать его следующим образом:
Или, если вы хотите запустить его вне действия, вы просто вызываете startActivity для экземпляра действия:
Как видно, в обоих этих блоках кода присутствует проверка на ноль. Это связано с тем, что он возвращает значение null, если нет приложения для обработки намерения.
Поскольку этот метод использует внешние ресурсы для отображения страницы, вам не нужно объявлять разрешение Интернета. Это должно делать приложение, которое отображает веб-страницу
Благодарим вас за помощь в повышении качества документации Unity. Хотя мы не можем принять все представленные материалы, мы читаем каждое предложенное изменение от наших пользователей и будем вносить обновления, где это применимо.
Отправить не удалось
По какой-то причине предложенное вами изменение не может быть отправлено. Пожалуйста, попробуйте еще раз через несколько минут. И спасибо, что нашли время помочь нам улучшить качество документации Unity.
Декларация
Параметры
Описание
Открывает указанный URL-адрес с учетом разрешений и ограничений текущей платформы и среды вашего приложения.Это обрабатывается по-разному в зависимости от характера URL-адреса и с различными ограничениями безопасности в зависимости от платформы среды выполнения.
Примечание. Этот метод можно использовать не только для открытия веб-страниц. следовательно, это имеет важные последствия для безопасности, о которых вы должны знать.
По этой причине команда OpenURL может оказаться неожиданно мощной. На некоторых платформах он может открывать локальные файлы, запускать команды или открывать соединения по любому протоколу, поддерживаемому платформой и изолированной программной средой безопасности.
Метод OpenURL работает с теми же разрешениями, что и ваше приложение. Например, если ваше приложение работает как проигрыватель WebGL в настольном веб-браузере, оно не сможет получить доступ к локальным файлам на компьютере, потому что сама платформа WebGL работает внутри изолированной программной среды безопасности, что предотвращает это. Если вы ориентируетесь на другие платформы, такие как отдельное приложение EXE, ваше приложение работает с меньшими ограничениями безопасности и без изолированной программной среды, поэтому этот метод более эффективен.
Важно: вы должны быть предельно осторожны, чтобы не предоставить этой функции строку, которая может быть злонамеренно создана или изменена третьей стороной.
На автономных платформах следует учитывать, что этот метод имеет те же последствия для безопасности, что и функция типа eval, присутствующая во многих других языках программирования.
Если ваше приложение использует OpenURL для открытия строк URL-адресов, полученных от третьих лиц или составленных с использованием каких-либо предоставленных пользователем данных, предоставленные пользователем данные следует считать ненадежными и могут использоваться для запуска произвольного кода в соответствии с те же разрешения вашего приложения. Вы должны очистить ненадежные данные и убедиться, что они являются ожидаемыми входными данными для вашего приложения.
Когда пользователь выбирает файл и щелкает элемент контекстного меню "Открыть с помощью", Диск перенаправляет пользователя на URL-адрес открытия этого приложения, указанный при настройке интеграции с Диском.
Если вы установили флажок "Импорт" при настройке интеграции с Диском, пользователь может выбрать комбинацию файлов приложения и файлов Google Workspace для открытия. Файлы, специфичные для приложения, определяются в полях «Типы Mime по умолчанию» и «Расширения файлов по умолчанию» при настройке интеграции с Диском. Файлы Google Workspace определяются в полях «Дополнительные типы Mime» и «Дополнительные расширения файлов» при настройке интеграции с Диском.
Для каждого файла, который пользователь хочет открыть, Диск сравнивает типы MIME с заданными вами типами MIME по умолчанию и дополнительными:
Для типов MIME, определенных в поле "Типы Mime по умолчанию", идентификатор файла передается вашему приложению. Информацию о том, как обрабатывать файлы, относящиеся к приложению, см. в разделе Обработка URL-адреса открытия для документа, относящегося к приложению.
Для типов MIME, определенных в поле "Дополнительные типы Mime", интерфейс Диска отображает диалоговое окно с вопросом, в какой тип файла следует преобразовать файл Google Workspace. Например, если вы выбираете документ Google в пользовательском интерфейсе Диска, а в поле «Вторичные типы Mime» указано, что ваше приложение поддерживает текст/html, текст/обычный или приложение/pdf, пользовательский интерфейс Диска спрашивает пользователя, хотят ли они преобразовать в HTML, обычный текст или PDF. Информацию о том, как обрабатывать файлы Google Workspace, см. в разделе Обработка URL-адреса открытия для документа Google Workspace. Список документов Google Workspace, форматов преобразования и соответствующих типов MIME см. в документах Google Workspace и соответствующих экспортных типах MIME.
Обработка URL-адреса открытия для документа, относящегося к приложению
Как упоминалось в разделе Настройка интеграции пользовательского интерфейса диска, ваше приложение получает переменные шаблона, содержащие информацию, чтобы приложение могло открыть файл. Ваше приложение получает набор переменных шаблона по умолчанию в параметре состояния. Информация о состоянии по умолчанию для URL-адреса открытия приложения:
Для обработки этой информации:
Определите значение открытия в параметре состояния, чтобы убедиться, что это запрос на открытие файла.
Проверьте разрешения, извлеките метаданные файла и загрузите содержимое файла с помощью метода files.get.
Параметр состояния закодирован в URL-адресе, поэтому ваше приложение должно обрабатывать escape-символы и анализировать их как JSON.
Примечание. Все приложения, в том числе приложения, открывающие файлы с помощью ярлыков и сторонних ярлыков, должны вызывать files.get для проверки разрешений пользователя для документа. Приложения должны предупреждать пользователей с доступом только для чтения, когда они открывают файл, который они не могут изменить или сохранить (вместо того, чтобы позволить им потратить время на редактирование, а затем выдавать ошибку при сохранении).
Обработка URL-адреса открытия для документа Google Workspace
Как упоминалось в разделе Настройка интеграции пользовательского интерфейса диска, ваше приложение получает набор переменных шаблона по умолчанию в параметре состояния. Информация о состоянии по умолчанию для URL-адреса открытия приложения:
Для обработки этой информации:
Определите значение открытия в параметре состояния, чтобы убедиться, что это запрос на открытие файла.
Проверьте разрешения, извлеките метаданные файла и определите тип MIME.
Преобразуйте содержимое файла с помощью метода files.export.В следующем фрагменте показано, как преобразовать файл в новый тип файла.
Питон
Node.js
Отображать преобразованные файлы как доступные только для чтения или отображать диалоговое окно, позволяющее пользователю сохранить файл как файл нового типа.
Параметр состояния закодирован в URL-адресе, поэтому ваше приложение должно обрабатывать escape-символы и анализировать их как JSON.
Обработка событий "Открыть с помощью"
Приложения для Диска должны рассматривать все события "Открыть с помощью" как потенциальные входы в систему. У некоторых пользователей может быть несколько учетных записей, поэтому идентификатор пользователя в параметре состояния может не соответствовать текущему сеансу. Если идентификатор пользователя в параметре состояния не соответствует текущему сеансу, завершите текущий сеанс для своего приложения и войдите в систему как запрошенный пользователь.
Следующий шаг
Помимо запуска приложения из пользовательского интерфейса Google Диска, приложения могут отображать средство выбора файлов для выбора контента из самого приложения. Дополнительную информацию см. в руководстве по выбору файлов.
Приложения должны отображать преобразованные файлы как доступные только для чтения или разрешать пользователям сохранять их как новые файлы.
Если не указано иное, содержимое этой страницы предоставляется по лицензии Creative Commons Attribution 4.0, а образцы кода — по лицензии Apache 2.0. Подробнее см. в Правилах сайта Google Developers. Java является зарегистрированным товарным знаком Oracle и/или ее дочерних компаний.
Читайте также: