Feature

Native sharing and downloads in a converted app

“Share this product” and “Download invoice” are small buttons that break in surprising ways inside a WebView.

Updated October 20262 min readwebtoappconverter.dev

Key takeawayFor sharing, use the Web Share API (navigator.share) where the converter supports it, or let the app intercept share links and open Android's share sheet. For downloads, the app must hand files to Android's download manager with the user's login cookies — otherwise invoices download as a login page — and handle JavaScript-generated blob: files separately. PDFs open in the phone's PDF viewer, not inside the WebView.
Share
navigator.share / share sheet
Downloads
Need cookies passed
blob: files
Special handling
PDFs
Open in a viewer app

Sharing

Inside an app, users expect the Android share sheet — WhatsApp, Messages, Gmail — not a row of web social buttons.

if (navigator.share) {
  navigator.share({ title: document.title, url: location.href });
} else {
  // fall back to your existing share links
}

Test it in your converted app: support for the Web Share API in WebViews depends on the app shell. If it isn't available, keep simple share links (https://wa.me/?text=…) and let the app open them in WhatsApp.

Downloads

FileUsual problemFix
Public PDF or imageNone, if the app has a download handlerConverter setting
Invoice behind loginSaved file is an HTML login pageApp must pass session cookies to the download
CSV/export generated in JS (blob:)Download fails silentlyApp must read the blob, or the site must offer a real URL
Large videoTimes outLink to a streaming page instead

PDFs

WebViews don't display PDFs inline like Chrome. Download them and open with the phone's PDF viewer, or render a preview with a JS PDF library on your page.

Frequently asked

Where do downloaded files go?

Usually to the phone's Downloads folder with a notification, depending on the converter.

Keep going