android - android webview http 网站意图
问题描述
android 9.0 pie compileSdkVersion 26 minSdkVersion 15 targetSdkVersion 28
嗨,我正在尝试发布我的 android 应用程序,但我遇到了问题
android 9.0 不支持 http 所以,我改了这样的代码
<application
android:usesCleartextTraffic="true"
android:allowBackup="true"
和一个出版的..但我收到了这封邮件
Intent Scheme Hijacking 您的应用正在使用易受 Intent 方案劫持的 WebView。要确认您已正确升级,请将应用的更新版本提交到 Play 管理中心,并在五小时后回来查看以确保警告消失。
这是我的代码 AndroidManifest.xml
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="{value}"
android:usesCleartextTraffic="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
活动.java
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
if (url.substring(0, 6).equals("intent"))
{
LoadEduManager(url);
}
else
{
view.loadUrl(url);
}
return true;
}
public void LoadEduManager(String url)
{
boolean flag = true;
try
{
PackageManager pm = getApplicationContext().getPackageManager();
String appPkg = "com.cdn.";
PackageInfo info = pm.getPackageInfo(appPkg, PackageManager.GET_ACTIVITIES);
}
catch (PackageManager.NameNotFoundException e)
{
flag = false;
}
if (flag)
{
try
{
Intent intent = Intent.parseUri(url, Intent.URI_INTENT_SCHEME);
startActivity(intent);
}
catch (URISyntaxException e)
{
e.printStackTrace();
}
}
else
{
new AlertDialog.Builder(Activity_Notice.this)
.setTitle("")
.setCancelable(false)
.setMessage("")
.setPositiveButton("확 인", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which)
{
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(""));
startActivity(intent);
}
})
.show();
}
}
我真的不知道如何解决这个问题谷歌的答案 https://support.google.com/faqs/answer/9101196?hl=en
如果我连接 http 站点,我会尝试这种情况,但不会显示错误页面,但是会出现 Jquery 错误。如果我使用浏览器输入,在这种情况下它会正常显示
<application usesCleartextTraffic=false networkSecurityConfig="@xml/network_security_config">
network_security_config
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">yeosj.com</domain>
</domain-config>
</network-security-config>
解决方案
将您的 sdk 版本更改为
compileSdkVersion 29
minSdkVersion 15
targetSdkVersion 29
推荐阅读
- mongodb - 如何将文档导入mongo db csv文件中的集合
- android - 在 ImaveView 上添加间隔,如图像轮播
- azure-active-directory - MSAL.js - 隐式身份验证 - 回复 url 参数问题
- openssl - 如何使用 Openssl ca 将证书文件名保存在索引文件中
- reactjs - 制作自定义 url /myadmin 以安装和使用 react-admin 应用程序
- python - 如何使用客户端 ID 和 Secret 实现对 FastAPI 的 OAuth
- python-3.x - 如何在 Python 中调用另一个类函数的一个类输出?
- ruby-on-rails - 如何在 Rails 6 中转换时间戳(created_at)?
- c# - 在 tabitem 标题内的按钮单击事件期间发送 Tab
- php - 在 WooCommerce 产品类别页面循环中获取帖子计数