如何在WebView中打开Android默认的共享对话框

huangapple go评论77阅读模式
英文:

how to open android default share dialog in webview

问题

我已经使用 WebView 创建了一个应用,现在我想创建一个分享按钮(在 Web 和 JavaScript 中),以打开安卓默认的分享对话框给用户。

但是这个方法行不通:

const sharePromise = navigator.share(data);

因为在安卓 WebView 中不支持这种方式。我该怎么办?

英文:

i have created an app using webview and now i want to create a share button (in web and js) to open android default share dialog for user.

But this approach does not work:

const sharePromise = navigator.share(data);

Because this is not supported in Android Web View.
what can i do?

答案1

得分: 1

你可以通过调用自定义的 JS 桥接函数来开启分享。如下所示:

@JavascriptInterface
fun share(pMessage: String) {
    Intent sharingIntent = new Intent(Intent.ACTION_SEND);
    sharingIntent.putExtra(Intent.EXTRA_TEXT, pMessage);
    sharingIntent.setType("text/plain");
    startActivity(Intent.createChooser(sharingIntent, "ChooserTitle"));  
}
英文:

you can open share by calling custom JS bridge function. Like below

@JavascriptInterface
fun share(pMessage: String) {
Intent sharingIntent = new Intent(Intent.ACTION_SEND);
sharingIntent.putExtra(Intent.EXTRA_TEXT, pMessage);
sharingIntent.setType("text/plain");
startActivity(Intent.createChooser(sharingIntent, “ChooserTitle"));  
}

huangapple
  • 本文由 发表于 2020年9月23日 19:12:46
  • 转载请务必保留本文链接:https://go.coder-hub.com/64026695.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定