随着移动互联网的飞速发展,移动应用的广告逐日增加。为了改善用户体验,很多开发者选择在应用中使用广告拦截器。可是,在安卓11中,这样的开发模式可能会得到一些限制。这篇文章中将完整地介绍如何关闭安卓11中的广告拦截,并讲述其原理。
一、广告拦截的原理
广告拦截是通过拦截应用程序的网络请求来实现的。当应用程序发送网络请求时,广告拦截器会截获这个请求并进行分析。如果请求的 URL 包含广告相关的信息,拦截器将拦截它并不进行请求。这样,应用程序就不会显示广告了。
二、需要关闭广告拦截
在安卓11之前的版本中,应用程序可以在后台运行广告拦截器。但是,安卓11 中引入了一种名为“Scoped Storage”的新存储模式,这个存储模式会限制应用程序访问外部存储设备的能力。在 Scoped Storage 模式下,应用程序无法访问设备上的文件系统,这将导致广告拦截功能失效。
由于 Scoped Storage 模式会限制广告拦截器的工作,因此需要关闭它。关闭 Scoped Storage 模式的方法如下
三、关闭 Scoped Storage 模式
1.创建文件在 安卓 Studio 中,打开 build.gradle 文件并添加以下命令
```
安卓 {
defaultConfig {
applicationId com.example.app
// 添加以下命令
useLegacyExternalStorage true
}
}
```
2.更新 安卓Manifest 文件在 安卓Manifest 文件中,添加以下权限
```
```
3.升级安卓版本只有在应用程序运行的设备已经是安卓11或更高版本时,才需要执行此步骤。
4.在真机上运行应用程序在真机上安装应用程序并运行,应用程序将使用传统的外部存储方案。
虽然 Scoped Storage 模式提高了用户的隐私保护,但是它限制了许多应用程序开发人员使用传统的外部存储方案。要是你的应用程序需要使用传统的外部存储方案,请通过关闭 Scoped Storage 模式来实现。
总的来说,广告拦截是为了改善应用程序的使用体验,但是在安卓11中,由于 Scoped Storage 模式的限制,开发人员需要关闭它。通过关闭 Scoped Storage 模式,应用程序可以继续使用传统的外部存储方案。
的原因是什么