— チャットの画像アップロードに対応する
Usage
チャットの接客サービスでは画像のアップロードを行うことが可能です。
なおアプリ側で独自に管理しているWebView上にチャットを表示する場合(Webページに埋め込まれている計測タグを使ってチャットを出す場合)に限り、事前に実装を行う必要があります。
SDK側で管理するWebView上にチャットを表示するケースでは、実装は不要です。
実装方法(サンプル)
WebChromeClient の onShowFileChooser
メソッドを実装します。
private final static int FILE_CHOOSER_REQUEST_CODE = 1;
private ValueCallback<Uri[]> mFilePathCallback;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// ...
webView.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onShowFileChooser(WebView webView, ValueCallback<Uri[]> filePathCallback, FileChooserParams fileChooserParams) {
mFilePathCallback = filePathCallback;
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
intent.addCategory(Intent.CATEGORY_OPENABLE);
startActivityForResult(intent, FILE_CHOOSER_REQUEST_CODE);
returu true;
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == FILE_CHOOSE_REQUEST_CODE) {
if (resultCode == RESULT_OK) {
mFilePathCallback.onReceiveValue(new Uri[] { data.getData() });
} else {
mFilePathCallback.onReceiveValue(null);
}
mFilePathCallback = null;
}
}
Updated 10 months ago