- // 添加事件
- mWebView.setWebChromeClient(new WebChromeClient() {
- @SuppressWarnings("unused")
- public void openFileChooser(ValueCallback<Uri> uploadFile) {
- uploadFile(uploadFile);
- }
- @SuppressWarnings("unused")
- public void openFileChooser(ValueCallback<Uri> uploadFile,
- String acceptType) {
- uploadFile(uploadFile);
- }
- @SuppressWarnings("unused")
- public void openFileChooser(ValueCallback<Uri> uploadFile,
- String acceptType, String capture) {
- uploadFile(uploadFile);
- }
- });
- // 上傳文件
- private ValueCallback<Uri> mUploadMessage;
- private void uploadFile(ValueCallback<Uri> uploadFile) {
- mUploadMessage = uploadFile;
- Intent i = new Intent(Intent.ACTION_GET_CONTENT);
- i.addCategory(Intent.CATEGORY_OPENABLE);
- i.setType("image/*");
- startActivityForResult(Intent.createChooser(i, "File Chooser"),
- FILE_CHOOSER_CODE);
- }
- // 結果回傳
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
- if (requestCode == FILE_CHOOSER_CODE) {
- if (mUploadMessage == null)
- return;
- if (data != null && resultCode == RESULT_OK) {
- Uri result = data.getData();
- if (result != null) {
- mUploadMessage.onReceiveValue(result);
- mUploadMessage = null;
- }
- }
- }
- -keepclassmembers class com.umai.taok.manager.JSBridge$AndroidAPI {
- public *;
- }
- -keepclassmembers class com.umai.taok.manager.ClientAPI {
- public *;
- }
- -keep class com.umai.taok.manager.JSBridge$AndroidAPI {
- public *;
- }
- -keep class com.umai.taok.manager.ClientAPI {
- public *;
- }
- -keepattributes *Annotation*
- -keepattributes *JavascriptInterface*
- -keepclassmembers class * extends android.webkit.WebChromeClient {
- public void openFileChooser(...);
- }