Я использую приложение Android в WebView, когда я пытаюсь вызвать «com.google.zxing.client.android.SCAN», я получаю сообщение об ошибке «Ошибка загрузки страницы» Я не знаю, чтоПроблема в том, что я все перепробовал.
Пожалуйста, дайте мне решение.Заранее спасибо.
Вот мой код:
android
import...
public class MyActivity extends Activity {
// private WebView webView;
public static String barcode = null;
AlertDialogManager alert = new AlertDialogManager();
Boolean isInternetPresent = false;
ConnectionDetector cd;
WebView myWebView;
ProgressDialog dialog;
final static String myAddr = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_main);
String name_data = getIntent().getExtras().getString("name","");
String lozinka_data = getIntent().getExtras().getString("email","");
String OzNapUred_data = getIntent().getExtras().getString("OzNapUred","");
String myAddr = "samepage.php";
cd = new ConnectionDetector(getApplicationContext());
isInternetPresent = cd.isConnectingToInternet();
if (isInternetPresent) {
// this.requestWindowFeature(Window.FEATURE_NO_TITLE);
myWebView = new WebView(this);
myWebView.setWebViewClient(new MyWebViewClient());
myWebView.getSettings().setUseWideViewPort(true);
myWebView.getSettings().setLoadWithOverviewMode(true);
myWebView.getSettings().setJavaScriptEnabled(true);
myWebView.addJavascriptInterface(new JavaScriptInterface(this), "Android");
myWebView.getSettings().setBuiltInZoomControls(true);
myWebView.loadUrl(myAddr);
setContentView(myWebView);
} else {
alert.showAlertDialog(MyActivity.this, "Internet Connection Error",
"Please connect to working Internet connection.", false);
}
}
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl)
{
Toast.makeText(MyActivity.this, "Oh no! " + description, Toast.LENGTH_SHORT).show();
}
public void loadScript(String script){
myWebView.loadUrl("javascript:(function() { " + script + "})()");
}
public class JavaScriptInterface {
Context mContext;
JavaScriptInterface(Context c) {
mContext = c;
}
public void closeMyActivity() {
finish();
}
public void scanBarcode() {
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.setPackage("com.google.zxing.client.android");
startActivityForResult(intent, 0);
}
}
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == 0) {
if (resultCode == RESULT_OK) {
//here is where you get your result
barcode = intent.getStringExtra("SCAN_RESULT");
}
}
}
private class MyWebViewClient extends WebViewClient {
public void onPageStarted(WebView view, String url, Bitmap favicon) {
dialog = ProgressDialog.show(MyActivity.this, null,
"Please Wait...");
dialog.setCancelable(true);
super.onPageStarted(view, url, favicon);
}
public void onPageFinished(WebView view, String url) {
dialog.dismiss();
super.onPageFinished(view, url);
}
@Override
public boolean shouldOverrideUrlLoading(final WebView view, final String url){
if(url.contains("com.fidelier.printfromweb:")) {
Uri uri = Uri.parse(url);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
return true;
}
else {
return false;
}
}
}
}
веб-страница (та же страница.php)
<script type="text/JavaScript">
function scan(){
Android.scanBarcode();
}
</script>
<button onclick="scan();">get Scan</button>
Любая помощь приветствуется.