首页 > 解决方案 > 自 API 28 以来是否再次需要 android.permission.INTERNET?

问题描述

在尝试将 admob 和 api 级别更新到 API 28 后,我收到了这个 Lint 警告:

Missing permissions required by MobileAds.initialize: android.permission.INTERNET

调用这些函数时:

MobileAds.initialize(context, context.getString(R.string.app_id));
mInterstitialAd.loadAd(new AdRequest.Builder().build());

这怎么可能?

我记得android.permission.INTERNET很多年前就不需要了。应用程序无需使用该权限即可访问 Internet。即使在这个应用程序中,我也有一些与 Internet 的连接,并且它们工作正常。我正在检索数据并且它正在工作,甚至还显示了广告。并且所有未经清单上声明的许可。

为什么 Lint 会显示该警告?

标签: androidadmobandroid-permissionsandroid-9.0-pie

解决方案


android.permission.INTERNET从那时起就需要获得许可。

但是它可能uses-permission已经由您包含的依赖项声明,现在它不再存在,或者是因为您删除了该依赖项,或者它的更新版本不再需要它。因此,现在您必须在清单中明确请求权限。


推荐阅读