如何更改HandleResult
代码以在应用程序中而不是外部浏览器中打开URL?
我知道我们需要Webview之类的东西,并且布局文件也需要在Webview中。我希望有一个人可以帮助我?我尝试过,但是没有用。
package com.example.beverly.registrationdatabase;
import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Patterns;
import com.google.zxing.Result;
import me.dm7.barcodescanner.zxing.ZXingScannerView;
public class ScanCodeActivity extends AppCompatActivity implements ZXingScannerView.ResultHandler {
ZXingScannerView ScannerView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ScannerView = new ZXingScannerView(this);
setContentView(ScannerView);
}
@Override
public void handleResult(Result result) {
if(Patterns.WEB_URL.matcher(result.getText()).matches()) {
// Open URL
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(result.getText()));
startActivity(browserIntent);
onBackPressed();
}
}
@Override
protected void onPause() {
super.onPause();
ScannerView.stopCamera();
}
@Override
protected void onResume() {
super.onResume();
ScannerView.setResultHandler(this);
ScannerView.startCamera();
}
}
答案 0 :(得分:0)
如果您只是尝试从标准网页访问内容,请考虑通过IOUtils.toString()
将内容直接放入字符串中。
答案 1 :(得分:0)
使用webview创建一个新活动。
使用意图将字符串移动到Webview活动,然后从该WebView中打开URL。
myWebView = (WebView)findViewById(R.id.webView);
WebSettings webSettings = myWebView.getSettings();
myWebView.getSettings().setJavaScriptEnabled(true);
myWebView.getSettings().setLoadWithOverviewMode(true);
myWebView.getSettings().setUseWideViewPort(true);
myWebView.getSettings().setDomStorageEnabled(true);
myWebView.loadUrl(String_from_qr_scan);
不要忘记在清单中添加Internet权限。同样,如果您希望WebView从该网页中导航其他页面,它将打开,那么您还必须重写setWebViewClient()方法。