Chrome WebView: 触发原生Android 分享功能
Chrome WebView: triggering native Android Share function
是否有可能在 Chrome WebView 中调用 Android 的本地共享(文件)功能?我正在创建一个混合 Ionic AngularJS 应用程序,并希望使用 Android 的本地文件共享功能。我尝试过不同的插件,但它们都对设备上存在的每个应用程序使用自定义共享实现,这还不够。
你试过制作JavascriptInterface
吗
将此添加到您的 MainActivity.java
public class WebViewJavaScriptInterface {
private Context context;
@JavascriptInterface
public void sharingIsCaring(String code) {
openSharing(code);
}
}
这是开始分享的动作:
public void openSharing(String code) {
String message = "Your share message: " + code;
Intent share = new Intent(Intent.ACTION_SEND);
share.setType("text/plain");
share.putExtra(Intent.EXTRA_TEXT, message);
startActivity(Intent.createChooser(share, "Share your code"));
}
那么,如何触发 @JavascriptInterface
您需要在 OnCreate()
方法中添加:
view.addJavascriptInterface(new WebViewJavaScriptInterface(this), "SmashIt");
所以要从JS触发它你只需要调用函数sharingIsCaring()
您需要通过为您调用的函数放置 SmashIt
来做到这一点,这样 Android 就会知道您正在调用他。所以它看起来像这样:
SmashIt.sharingIsCaring(code)
是否有可能在 Chrome WebView 中调用 Android 的本地共享(文件)功能?我正在创建一个混合 Ionic AngularJS 应用程序,并希望使用 Android 的本地文件共享功能。我尝试过不同的插件,但它们都对设备上存在的每个应用程序使用自定义共享实现,这还不够。
你试过制作JavascriptInterface
将此添加到您的 MainActivity.java
public class WebViewJavaScriptInterface {
private Context context;
@JavascriptInterface
public void sharingIsCaring(String code) {
openSharing(code);
}
}
这是开始分享的动作:
public void openSharing(String code) {
String message = "Your share message: " + code;
Intent share = new Intent(Intent.ACTION_SEND);
share.setType("text/plain");
share.putExtra(Intent.EXTRA_TEXT, message);
startActivity(Intent.createChooser(share, "Share your code"));
}
那么,如何触发 @JavascriptInterface
您需要在 OnCreate()
方法中添加:
view.addJavascriptInterface(new WebViewJavaScriptInterface(this), "SmashIt");
所以要从JS触发它你只需要调用函数sharingIsCaring()
您需要通过为您调用的函数放置 SmashIt
来做到这一点,这样 Android 就会知道您正在调用他。所以它看起来像这样:
SmashIt.sharingIsCaring(code)