|
|
@@ -12,6 +12,7 @@ import android.net.Uri;
|
|
|
import android.net.http.SslError;
|
|
|
import android.os.Build;
|
|
|
import android.os.Bundle;
|
|
|
+import android.os.Handler;
|
|
|
import android.support.v4.content.PermissionChecker;
|
|
|
import android.support.v7.app.ActionBar;
|
|
|
import android.support.v7.app.AlertDialog;
|
|
|
@@ -92,6 +93,8 @@ public class MainActivity extends AppCompatActivity implements RAWebView.WebView
|
|
|
private ProgressBar mProgressbar;
|
|
|
private String mURL;
|
|
|
|
|
|
+ private boolean saved = false;
|
|
|
+
|
|
|
@Override
|
|
|
protected void onCreate(Bundle savedInstanceState) {
|
|
|
super.onCreate(savedInstanceState);
|
|
|
@@ -135,6 +138,7 @@ public class MainActivity extends AppCompatActivity implements RAWebView.WebView
|
|
|
|
|
|
mWebView.setLoadCallback(this);
|
|
|
|
|
|
+ saved = savedInstanceState != null;
|
|
|
if (savedInstanceState != null) {
|
|
|
mCurrentActionString = savedInstanceState.getString(CurrentActionStringKey);
|
|
|
|
|
|
@@ -342,29 +346,54 @@ public class MainActivity extends AppCompatActivity implements RAWebView.WebView
|
|
|
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
|
|
|
|
|
Log.d(TAG, "onActivityResult: ");
|
|
|
- if (requestCode == REQUEST_SCANNER_CODE) {
|
|
|
+ super.onActivityResult(requestCode, resultCode, data);
|
|
|
+
|
|
|
+ handleResult(requestCode, resultCode, data);
|
|
|
+ }
|
|
|
|
|
|
- onScannerResult(resultCode, data);
|
|
|
+ private void handleResult(final int requestCode, final int resultCode, final Intent data) {
|
|
|
|
|
|
- } else if (requestCode == REQUEST_CAMERA_CODE) {
|
|
|
+ if (saved) {
|
|
|
+ loading = true;
|
|
|
+ saved = false;
|
|
|
+ }
|
|
|
|
|
|
- onCameraResult(resultCode, data);
|
|
|
- } else if (requestCode == REQUEST_PHOTO_LIBRARY_CODE) {
|
|
|
+ // webView已经加载完成
|
|
|
+ if (!loading) {
|
|
|
|
|
|
- onPhotoLibraryResult(resultCode, data);
|
|
|
- } else if (requestCode == REQUEST_SIGNATURE_CODE) {
|
|
|
+ if (requestCode == REQUEST_SCANNER_CODE) {
|
|
|
|
|
|
- onSignatureResult(resultCode, data);
|
|
|
- } else if (requestCode == REQUEST_FILE_CHOOSE_CODE) {
|
|
|
+ onScannerResult(resultCode, data);
|
|
|
|
|
|
- onFileChooseResult(resultCode, data);
|
|
|
- } else if (requestCode == REQUEST_SELECT_CONTACT_CODE) {
|
|
|
+ } else if (requestCode == REQUEST_CAMERA_CODE) {
|
|
|
|
|
|
- onSelectContactResult(resultCode, data);
|
|
|
- }
|
|
|
+ onCameraResult(resultCode, data);
|
|
|
+ } else if (requestCode == REQUEST_PHOTO_LIBRARY_CODE) {
|
|
|
|
|
|
- mCurrentActionString = null;
|
|
|
- super.onActivityResult(requestCode, resultCode, data);
|
|
|
+ onPhotoLibraryResult(resultCode, data);
|
|
|
+ } else if (requestCode == REQUEST_SIGNATURE_CODE) {
|
|
|
+
|
|
|
+ onSignatureResult(resultCode, data);
|
|
|
+ } else if (requestCode == REQUEST_FILE_CHOOSE_CODE) {
|
|
|
+
|
|
|
+ onFileChooseResult(resultCode, data);
|
|
|
+ } else if (requestCode == REQUEST_SELECT_CONTACT_CODE) {
|
|
|
+
|
|
|
+ onSelectContactResult(resultCode, data);
|
|
|
+ }
|
|
|
+
|
|
|
+ mCurrentActionString = null;
|
|
|
+ } else {
|
|
|
+
|
|
|
+ // webView还未加载完,此时需要延后执行
|
|
|
+ new Handler().postDelayed(new Runnable() {
|
|
|
+ @Override
|
|
|
+ public void run() {
|
|
|
+
|
|
|
+ handleResult(requestCode, resultCode, data);
|
|
|
+ }
|
|
|
+ }, 1000);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
private void saveExcuteJS(String js) {
|
|
|
@@ -532,9 +561,7 @@ public class MainActivity extends AppCompatActivity implements RAWebView.WebView
|
|
|
RAUtil.alertMessage(self,getString(R.string.ra_title_warning),getString(R.string.method_not_found));
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * Result
|
|
|
- * */
|
|
|
+ // region Result
|
|
|
|
|
|
private void onScannerResult(int resultCode, Intent data) {
|
|
|
|
|
|
@@ -716,6 +743,8 @@ public class MainActivity extends AppCompatActivity implements RAWebView.WebView
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ // endregion
|
|
|
+
|
|
|
/**
|
|
|
* Private Action
|
|
|
* */
|
|
|
@@ -732,9 +761,8 @@ public class MainActivity extends AppCompatActivity implements RAWebView.WebView
|
|
|
CameraHelper.pickImageFromAlbum2(self, REQUEST_PHOTO_LIBRARY_CODE);
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * Action
|
|
|
- * */
|
|
|
+
|
|
|
+ // region WebView Action
|
|
|
private RAJSInterface.RAJSInterfaceDelegate mActionHandler = new RAJSInterface.RAJSInterfaceDelegate() {
|
|
|
@Override
|
|
|
public void CamScan(String msg) {
|
|
|
@@ -1214,7 +1242,9 @@ public class MainActivity extends AppCompatActivity implements RAWebView.WebView
|
|
|
return FileManager.base64StringFromFile(path);
|
|
|
}
|
|
|
|
|
|
- // region Loac Callback
|
|
|
+ // endregion
|
|
|
+
|
|
|
+ // region Local Callback
|
|
|
|
|
|
private boolean initialize = false; // 首页加载完成
|
|
|
private boolean error = false;
|