Java 如何在Android studio上使用html打开新活动
我需要通过html页面打开条形码扫描仪活动。当我尝试点击条形码图像时,它会发出警告。我有MainActivity.java和BarcodeActivity.java类 单击条形码图像时出现的警告:Java 如何在Android studio上使用html打开新活动,java,android,Java,Android,我需要通过html页面打开条形码扫描仪活动。当我尝试点击条形码图像时,它会发出警告。我有MainActivity.java和BarcodeActivity.java类 单击条形码图像时出现的警告: I/chromium: [INFO:CONSOLE(7027)] "Unable to preventDefault inside passive event listener due to target being treated as passive. See https://www.c
I/chromium: [INFO:CONSOLE(7027)] "Unable to preventDefault inside passive event listener due to target being treated as passive. See https://www.chromestatus.com/features/5093566007214080", source: file:///android_asset/js/framework7.js (7027)
MainActivity.java是
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView webView =(WebView)findViewById(R.id.web);
webView.setWebViewClient(new MyBrowser());
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webView.loadUrl("file:////android_asset/index.html");
}
private class MyBrowser extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (Uri.parse(url).getHost().contains("activity.barcode://")) {
startActivity(new Intent(MainActivity.this,BarcodeActivity.class));
return true;
}
return false;
}
}
AndroidManifest.xml
<activity android:name=".BarcodeActivity" >
<intent-filter>
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSER" />
<action android:name="android.intent.action.VIEW" />
<data android:scheme="activity.barcode" />
</intent-filter>
</activity>
</application>
<li class="menuicon"><a href="activity.barcode://"><img src="images/icons/black/barcode.png" alt="" title="" /></a></li>
可能它从未进入if状态。getHost()可能只返回位于“://”之后的主机名,尝试调用getProtocol()您可以详细说明我如何执行此操作吗?将Uri.parse(url).getHost()替换为Uri.parse(url).getProtocol(),如下所示:Uri.parse(url).getProtocol().contains(“activity.barcode”try getScheme()也不起作用。所以我调试了我的代码,似乎从来没有输入过shouldOverrideUrlLoading方法。我想我在html方面有一个问题,但我无法解决。