在 webview Android Studio 中打开 link
open the link in webview Android Studio
你好,我已经在 android 工作室的邮件 activity 中创建了 webview,现在我在扫描仪 activity 中,当 APP 扫描任何具有 link 它只是写 link 但我想做的是在已经在邮件 activity. 中创建的 Web 视图中打开 link
让我把我的扫描文件放在这里
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_scanner);
scannView = findViewById(R.id.scannerView);
codeScanner = new CodeScanner(this,scannView);
resultData = findViewById(R.id.resultsOfQr);
codeScanner.setDecodeCallback(new DecodeCallback() {
@Override
public void onDecoded(@NonNull final Result result) {
runOnUiThread(new Runnable() {
@Override
public void run() {
resultData.setText(result.getText());
// Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(result.getText()));
// startActivity(browserIntent);
Intent intent = new Intent(getBaseContext(), MainActivity.class);
intent.putExtra("myurl1", result.getText());
startActivity(intent);
}
});
}
});
scannView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
codeScanner.startPreview();
}
});
}
scannView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
codeScanner.startPreview();
}
});
}
邮件中的 WEBVIEWactivity
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
scanBtn = findViewById(R.id.scanBtn);
MywebView = (WebView) findViewById(R.id.view2);
WebSettings webSettings = MywebView.getSettings();
webSettings.setJavaScriptEnabled(true);
MywebView.loadUrl("https://google.com/APP/");
MywebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.contains("tel:")) {
Intent intent = new Intent(Intent.ACTION_CALL);
intent.setData(Uri.parse(url));
startActivity(intent);
return true;
}else{
return false;
}
}
});
scanBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(getApplicationContext(),Scanner.class));
}
});
String myrul = getIntent().getStringExtra("myurl1");
runOnUiThread(new Runnable() {
@Override
public void run() {
MywebView.loadUrl(myrul);
}
});
}
知道我该怎么做,感谢您的帮助。
谢谢
在您的 CodeScanner 回调中加载 WebView
runOnUiThread(new Runnable() {
@Override
public void run() {
resultData.setText(result.getText());
MywebView.loadUrl(result.getText());
}
});
你好,我已经在 android 工作室的邮件 activity 中创建了 webview,现在我在扫描仪 activity 中,当 APP 扫描任何具有 link 它只是写 link 但我想做的是在已经在邮件 activity. 中创建的 Web 视图中打开 link
让我把我的扫描文件放在这里
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_scanner);
scannView = findViewById(R.id.scannerView);
codeScanner = new CodeScanner(this,scannView);
resultData = findViewById(R.id.resultsOfQr);
codeScanner.setDecodeCallback(new DecodeCallback() {
@Override
public void onDecoded(@NonNull final Result result) {
runOnUiThread(new Runnable() {
@Override
public void run() {
resultData.setText(result.getText());
// Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(result.getText()));
// startActivity(browserIntent);
Intent intent = new Intent(getBaseContext(), MainActivity.class);
intent.putExtra("myurl1", result.getText());
startActivity(intent);
}
});
}
});
scannView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
codeScanner.startPreview();
}
});
}
scannView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
codeScanner.startPreview();
}
});
}
邮件中的 WEBVIEWactivity
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
scanBtn = findViewById(R.id.scanBtn);
MywebView = (WebView) findViewById(R.id.view2);
WebSettings webSettings = MywebView.getSettings();
webSettings.setJavaScriptEnabled(true);
MywebView.loadUrl("https://google.com/APP/");
MywebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.contains("tel:")) {
Intent intent = new Intent(Intent.ACTION_CALL);
intent.setData(Uri.parse(url));
startActivity(intent);
return true;
}else{
return false;
}
}
});
scanBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(getApplicationContext(),Scanner.class));
}
});
String myrul = getIntent().getStringExtra("myurl1");
runOnUiThread(new Runnable() {
@Override
public void run() {
MywebView.loadUrl(myrul);
}
});
}
知道我该怎么做,感谢您的帮助。 谢谢
在您的 CodeScanner 回调中加载 WebView
runOnUiThread(new Runnable() {
@Override
public void run() {
resultData.setText(result.getText());
MywebView.loadUrl(result.getText());
}
});