我开始在 Android 上开发一个应用程序,所以我没有太多东西。到目前为止我所拥有的只是一个 WebView。我在 Android Studio 中创建了该项目,并将我的项目设置为 Android InstantApp。我不确定为什么/如何,但我的猜测是我在创建项目时忽略了它的一个选项。
我从 WebView 收到错误消息 net::ERR_CLEARTEXT_NOT_PERMITTED。当我用Google搜索错误时,我发现当应用程序是InstantApp时,WebViews只能加载HTTPS站点,而无法加载HTTP站点。
该应用程序的目的是成为一款仅适用于一个站点的极其简单的 Flash 播放器。这是为了在运行需要 Flash 的游戏时获得更好的性能。该游戏位于 darkorbit.com,采用 HTTPS。
MainActivity.java:
package com.tylerr147.darkorbit;
import android.content.ComponentName;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView wv = findViewById(R.id.webView1);
wv.loadUrl("https://darkorbit.com/");
wv.setWebViewClient(new CustomWebViewClient());
WebSettings webSettings = wv.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setPluginState(WebSettings.PluginState.ON);
}
}
和 CustomWebViewClient.java
package com.tylerr147.darkorbit;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class CustomWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
我的问题:
如何禁用我的应用程序作为 InstantApp,或者如何让此 WebView 显示该网站?
我觉得我还提到一些其他细节很重要:
在应用程序中,显示 WebView 的地方还显示“网页位于http://darkorbit.com/" 无法加载,因为:
净::ERR_CLEARTEXT_NOT_PERMITTED
请注意,上面写着“...站点位于http://darkorbit.com/...”,而不是“...网站位于https://darkorbit.com/...”即使 URL 的字符串是硬编码的,并且显示“https://darkorbit.com/另外,我正在设置为运行 Android 9 的 Google Pixel 2 的模拟器上测试该应用程序。
任何帮助,将不胜感激。谢谢。