fix crash

This commit is contained in:
crazecoder 2019-11-04 17:37:48 +08:00
parent b800d0f651
commit c0c3fdeea5
1 changed files with 17 additions and 11 deletions

View File

@ -1,6 +1,7 @@
package com.pichillilorenzo.flutter_inappbrowser.InAppWebView; package com.pichillilorenzo.flutter_inappbrowser.InAppWebView;
import android.annotation.TargetApi; import android.annotation.TargetApi;
import android.content.ActivityNotFoundException;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.graphics.Bitmap; import android.graphics.Bitmap;
@ -521,18 +522,23 @@ public class InAppWebChromeClient extends WebChromeClient implements PluginRegis
FileChooserParams fileChooserParams) { FileChooserParams fileChooserParams) {
mUploadMessageArray = filePathCallback; mUploadMessageArray = filePathCallback;
Intent contentSelectionIntent = new Intent(Intent.ACTION_GET_CONTENT); try {
contentSelectionIntent.addCategory(Intent.CATEGORY_OPENABLE); Intent contentSelectionIntent = new Intent(Intent.ACTION_GET_CONTENT);
contentSelectionIntent.setType("*/*"); contentSelectionIntent.addCategory(Intent.CATEGORY_OPENABLE);
Intent[] intentArray; contentSelectionIntent.setType("*/*");
intentArray = new Intent[0]; Intent[] intentArray;
intentArray = new Intent[0];
Intent chooserIntent = new Intent(Intent.ACTION_CHOOSER); Intent chooserIntent = new Intent(Intent.ACTION_CHOOSER);
chooserIntent.putExtra(Intent.EXTRA_INTENT, contentSelectionIntent); chooserIntent.putExtra(Intent.EXTRA_INTENT, contentSelectionIntent);
chooserIntent.putExtra(Intent.EXTRA_TITLE, "Image Chooser"); chooserIntent.putExtra(Intent.EXTRA_TITLE, "Image Chooser");
chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, intentArray); chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, intentArray);
((inAppBrowserActivity != null) ? inAppBrowserActivity : flutterWebView.activity).startActivityForResult(chooserIntent, FILECHOOSER_RESULTCODE); ((inAppBrowserActivity != null) ? inAppBrowserActivity : flutterWebView.activity).startActivityForResult(chooserIntent, FILECHOOSER_RESULTCODE);
return super.onShowFileChooser(webView, filePathCallback, fileChooserParams); } catch (ActivityNotFoundException e) {
e.printStackTrace();
return false;
}
return true;
} }
private MethodChannel getChannel() { private MethodChannel getChannel() {