我找到了这个主题,并且我在here上做了同样的事情。单击按钮,它一直停留在浏览器中。它说“ Navigation:// OpenNativeScreen网页不可用”。它应该开始活动了。但是没有。所以它不会切换到活动状态。
public class acilisbir extends AppCompatActivity {
WebView myBrowser;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_acilisbir);
myBrowser = (WebView) findViewById(R.id.anasayfagetir);
myBrowser.setWebViewClient(new MyBrowser());
myBrowser.getSettings().setJavaScriptEnabled(true);
myBrowser.loadUrl("file:///android_asset/anasayfa.html");
}
private class MyBrowser extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.equals("Navigation://OpenNativeScreen")) {
startActivity(new Intent(acilisbir.this,AnaEkran.class));
finish();
return true;
}
return false;
}
}
}
和html页面。我使用按钮和输入进行测试,但稍后将使用图像代替。
<!DOCTYPE html>
<html><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script type="text/javascript" charset="utf-8" src="jquery-2.0.0.min.js"></script>
<script type="text/javascript" charset="utf-8" src="quantize.js"></script>
<meta charset="UTF-8">
<title>Full Page Background Image | Progressive</title>
<style>
* { margin: 0; padding: 0; }
html {
background: url(anasayfabuton/bgorg.png) no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
#page-wrap { width: 400px; margin: 50px auto; padding: 20px; background: white; -moz-box-shadow: 0 0 20px black; -webkit-box-shadow: 0 0 20px black; box-shadow: 0 0 20px black; }
p { font: 15px/2 Georgia, Serif; margin: 0 0 30px 0; text-indent: 40px; }
</style>
</head>
<body>
<style type="text/css" style="display: none !important;">
* {
margin: 0;
padding: 0;
}
body {
overflow-x: hidden;
}
#demo-top-bar {
text-align: left;
background: #222;
position: relative;
zoom: 1;
width: 100% !important;
z-index: 6000;
padding: 20px 0 20px;
}
#demo-bar-inside {
width: 960px;
margin: 0 auto;
position: relative;
overflow: hidden;
}
#demo-bar-buttons {
padding-top: 10px;
float: right;
}
#demo-bar-buttons a {
font-size: 12px;
margin-left: 20px;
color: white;
margin: 2px 0;
text-decoration: none;
font: 14px "Lucida Grande", Sans-Serif !important;
}
#demo-bar-buttons a:hover,
#demo-bar-buttons a:focus {
text-decoration: underline;
}
#demo-bar-badge {
display: inline-block;
width: 302px;
padding: 0 !important;
margin: 0 !important;
background-color: transparent !important;
}
#demo-bar-badge a {
display: block;
width: 100%;
height: 38px;
border-radius: 0;
bottom: auto;
margin: 0;
background: url(/images/examples-logo.png) no-repeat;
background-size: 100%;
overflow: hidden;
text-indent: -9999px;
}
#demo-bar-badge:before, #demo-bar-badge:after {
display: none !important;
}
.image_left1{
margin-top: 50%;
width: 40%;
float: left;
margin-left: 3%;
}
.image_left2{
margin-top: 50%;
width: 40%;
float: right;
margin-right: 3%;
}
.image_left3{
margin-top: 15%;
width: 40%;
float: left;
margin-left: 3%;
}
.image_left4{
margin-top: 15%;
width: 40%;
float: right;
margin-right: 3%;
}
input[type=test] {
background-color: #4CAF50;
border: none;
color: white;
padding: 16px 32px;
text-decoration: none;
margin: 4px 2px;
cursor: pointer;
margin-top: 10%;
}
@media only screen
and (min-device-width: 728px)
and (max-device-width: 1024px)
{
.image_left1{
margin-top: 10%;
width: 40%;
float: left;
margin-left: 3%;
}
.image_left2{
margin-top: 10%;
width: 40%;
float: right;
margin-right: 3%;
}
}
</style>
<INPUT TYPE="test" value="Test" onClick="window.location='Navigation://OpenNativeScreen'">
<img class="image_left1" src="anasayfabuton/1tr.png">
<img class="image_left2" src="anasayfabuton/2tr.png">
<img class="image_left3" src="anasayfabuton/3tr.png">
<img class="image_left4" src="anasayfabuton/4tr.png">
</body></html>
更新2
我添加了清单
<activity android:name="Buy" >
<intent-filter>
<category android:name="android.intent.category.DEFAULT" />
<action android:name="android.intent.action.VIEW" />
<data android:scheme="activity_buy" />
</intent-filter>
</activity>
在活动中使用此代码
private class MyBrowser extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.equalsIgnoreCase("Navigation://OpenNativeScreen")) {
startActivity(new Intent(acilisbir.this,AnaEkran.class));
finish();
return true;
}else if (url.equalsIgnoreCase("activity_buy://Buy")) {
startActivity(new Intent(acilisbir.this,Buy.class));
finish();
return true;
}
return false;
}
}
和html
<INPUT TYPE="buycr" value="Buycr" onClick="window.location='activity_buy://Buy'">