问题标签 [android-api-30]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
120 浏览

android - Android intent.resolveActivity 在 API 30 中返回 null

在我们的应用程序中,我们有支付网关实现。我们正在开放意向开放 GPay、PhonePay、Paytm 和其他应用程序。请找到以下代码,

我在 AndroidManifest.xml 中添加了“查询”标签

即使 UPI 应用程序安装在设备上,但我们却没有找到 UPI 应用程序!请安装继续!

请帮助我做什么。

0 投票
0 回答
43 浏览

java - Android 11 中的应用程序无法访问 Android/obb/package-folder 位置吗?

如果我为我的游戏应用下载 obb 文件并且它们存储在这个位置

我也将我的文本文件存储在这个位置

在 Android 10 之前运行良好,我需要进行哪些更改才能使其在 Android 11 环境中运行?我应该将文本文件移动到这个位置吗

或者

文本文件的目的只是存储数据,然后当我必须加载 obb 以开始游戏时从中读取 URL。

0 投票
2 回答
975 浏览

android - Cordova [Android 平台] 从 API 29 迁移到 API 30

我正在尝试迁移我的移动应用程序(使用 Cordova 和 AngularJS 为 Android 和 iOS 平台开发),我遇到了从 API 29 到 API 30 的一些问题。在我的应用程序中,我从 REST 服务下载了一个带有分隔图片的 JSON 目录(JPG格式)存储在数据目录(cordova.file.dataDirectory)中。使用 API 设置为 29 的应用程序构建,应用程序运行良好,下载图片并在 HTML 页面中显示它们(使用 AngularJS 更新)。但是,如果我尝试将 API 设置为 30 来构建它,应用程序会继续工作(它会正确下载数据目录中的 json 和 jpg 文件),但不会显示存储在该目录中的图片。我还尝试使用所有更新的组件(Cordova 10.0.0、Android 平台 10.0.0、插件等)创建一个新的简单移动应用程序,但我获得了相同的行为,我无法解决这个问题。

使用 API 29 构建信息应用程序

Cordova v8.1.2
安卓平台 v8.0.0

使用 API 30 构建信息应用程序

Cordova v10.0.0
安卓平台 v10.0.0

插件列表

cordova-plugin-android-permissions 1.0.2“权限”
cordova-plugin-camera 4.1.0“相机”
cordova-plugin-compat 1.2.0“Compat”
cordova-plugin-datepicker 0.9.3“DatePicker”
cordova-plugin-设备 2.0.3 “设备”
cordova-plugin-dialogs 2.0.2 “通知”
cordova-plugin-file 6.0.2 “文件”
cordova-plugin-file-hash 0.4.1 “FileHash”
cordova-plugin-filepath 1.5.8 “cordova-plugin-filepath”
cordova-plugin-geolocation 4.0.2 “地理位置”
cordova-plugin-globalization 1.11.0 “全球化”
cordova-plugin-inappbrowser 3.2.0 “InAppBrowser”
cordova-plugin-network-information 2.0.2 "网络信息”
cordova-plugin-sign-in-with-apple 0.1.2 “cordova-plugin-sign-in-with-apple”
cordova-plugin-splashscreen 5.0.3 "Splashscreen"
cordova-plugin-statusbar 2.4.3 "StatusBar"
cordova-plugin-whitelist 1.3.4 "白名单"
cordova-plugin-wkwebview-engine 1.2.1 "Cordova WKWebView Engine"
cordova- plugin-wkwebview-file-xhr 2.1.4 “Cordova WKWebView 文件 XHR 插件”
cordova-sqlite-storage 5.0.0 “Cordova s​​qlite 存储插件 - cordova-sqlite-storage 插件版本”
ionic-plugin-keyboard 2.2.1 “键盘”
phonegap-plugin-mobile-accessibility 1.0.5-dev “移动辅助功能”

0 投票
0 回答
33 浏览

android - Android 目标 api 11,从 linux 命令行构建,复杂项目

我需要通过命令行从linux机器构建一个apk,所以通过gradle wrapper。

该项目已将 NDK 和 CMAKE 配置为使用本机库。目前对于目标 29,一切正常。它具有以下配置:

  • NDK 21.3.6528147
  • CMAKE 3.10.2
  • 源兼容性 VERSION_1_8。
  • 构建工具版本“29.0.3”
  • 编译SdkVersion,targetSdkVersion 29
  • com.android.tools.build:gradle:3.6.4'
  • 梯度包装器distributionUrl=https\://services.gradle.org/distributions/gradle-6.2-all.zip
  • JDK 8 安装在 linux 机器上
  • SDK工具(命令行工具)sdk-tools-linux-3859397.zip
  • Robolectric 'org.robolectric:robolectric:4.3.1'

来自 gradle.build ,当然我需要 compileSdkVersion30

  1. 我需要buildToolsVersion设置为 30.0.2 吗?
  2. 我需要特定的 gradle 包装器版本吗?例如,如果我需要将工具从 29.0.3 设置为 30.0.2,我是否需要将 gradle 包装器更新到 7.1.1,例如?
  3. 我需要更新到 com.android.tools.build:gradle:7.0.2'
  4. 如果我不需要 Java VERSION_11,我是否需要进行任何相关更改?
  5. 机器上安装的JDK有什么作用吗?我需要更新到 JDK 11 吗?
  6. 我需要最新的 SDK 工具吗,例如 commandlinetools-linux-6609375_latest.zip
  7. Robolectric ......真是一场噩梦......我认为它不适用于 Java 11......

我已经尝试了各种东西,甚至将所有内容更新到最新版本。没有任何效果,组合变得无穷无尽,谷歌也不清楚。

例如更新包装器需要更新NDK,然后NDK 需要更新cmake。sdk manager 3.10以上版本不附带cmake,您需要手动更新cmake,cmake安装不附带ninja,而从sdkmanager安装也安装ninja,您需要安装ninja并将其与cmake结合使用ndk等...

所以我们只是在寻找对外围设备、目标 API 30 的最小更改,仅此而已。

0 投票
0 回答
29 浏览

uuid - 如何在android 11中生成唯一代码

如您所知,在 Android 11 中无法获取imei。可以复制您的应用程序的应用程序会生成一个新的 android id。对于具有相同条件的两部手机,伪 id 可能会重复。随机 uuid 只生成一个随机代码但我正在寻找一个像 Imei 这样的不可更改的唯一代码。

0 投票
0 回答
148 浏览

android - 即使应用访问非 SDK 接口,应用也不会崩溃/

根据“访问受限非 SDK 接口时的预期行为”,如果应用程序(API 版本 30)尝试访问非 SDK 接口(greylist-max-q),应用程序应该会崩溃。但根据我的经验,该应用程序不会崩溃。

例如,我设备的 API 是 30,我的应用程序使用 OkHttp3(4.xx)。当我启动应用程序时,logcat 如下所示。

setUseSessionTickets函数似乎被标记为graylist-max-q,并且 30(my device api) 大于 q(29)。但应用程序正常工作,没有任何崩溃。我不知道为什么没有崩溃。

可以忽略这个警告日志吗..?

0 投票
1 回答
312 浏览

android - Android API 30 上的 Nativescript WebView 产生 ERR_ACCESS_DENIED

我有一个 NativeScript 6.8 JavaScript 应用程序,它使用 WebView 来显示在引用本地图像文件的应用程序中组成的 html 字符串。Google Play 商店迫使我支持 API 30,当我这样做时,WebView 失败并显示

我发现这篇文章建议我修改一些 Android WebView 的访问设置,这样我的代码现在看起来像这样

AndroidManifest.xml:

xml:

js:

当我运行它时,我在控制台中收到这些消息:

在第一次导航到页面时,会显示 android 错误屏幕。但是,如果我重新导航到该页面,我只会收到“设置集”消息,并且 html 会正确显示。好像设置有效,但设置得不够快。将代码移动到 LoadStarted 事件没有任何效果。

我觉得我很接近;我欢迎任何帮助。

0 投票
1 回答
341 浏览

android - WindowController 的切换状态栏文本颜色/setAppearanceLightStatusBars 未按预期工作

我为我的应用程序使用两种不同的背景,具体取决于哪个屏幕处于活动状态。一般来说,状态栏是透明的,背景应该放在它后面。根据背景,我需要状态栏文本的颜色为浅色或深色。

到目前为止,我使用此主题属性使状态栏透明(它确实是半透明的,但如果有人知道如何让它透明,将不胜感激)

每当背景应该像这样切换时,我正在使用 Jetpack 导航来导航并将参数传递给目的地

这真的很好。现在不起作用的部分是状态栏文本颜色的切换:

这是使用的控制器,创建于onCreate()我的MainActivity

在这里您可以看到状态栏是绿色的,因为 mainActivity 的背景位于半透明状态栏的后面。windowController.setAppearanceLightStatusBars(true);评论了这个版本 工作版本

在这里,您看到状态栏是白色的,文本是白色的(因为它仍然是绿色背景),但它被向下移动并被某种默认的白色状态栏背景取代。查看电池图标现在的位置。windowController.setAppearanceLightStatusBars(true);未发表评论并在沿路某处被处决 破解版

更新:

之后,我能够在运行 Android 10 的测试设备上获得所需的结果。

在 Emulator Running API 30 上,我现在还有一个问题:

WindowCompat.setDecorFitsSystemWindows(window, false);

让我们在状态栏和导航栏后面绘制。现在状态栏按预期工作,但导航栏隐藏了部分 UI。我需要导航栏处于旧状态,而不是被绘制在下面。有任何想法吗?

为了完整性

0 投票
1 回答
1085 浏览

android - 将 targetSDK 设置为 API 30 后,我的 Android 应用程序无法正常工作;我如何找出原因?

根据Google的说法,从 2021 年 8 月起,所有新的 Google Play 应用都需要以 API 30 为目标,除了作为 Android App Bundle 派生。此外,从 2021 年 11 月起,即使是应用程序更新也需要符合要求。

所以我将我的应用程序从面向 API 29 更新到 API 30,一些功能坏了。我如何找出原因?从Google 给出的更改列表来看,这并不明显,因为这不仅仅是检查是否正在使用某些已弃用的 API 的问题。

理想情况下,如果 Android Studio 可以提供一种方法来查看 API 30 中的功能如何影响我的应用程序行为,那就太好了。

0 投票
0 回答
30 浏览

cordova - 导出cordova 10.0.0时出现黑屏

我使用 cmd 和以下命令导出游戏。科尔多瓦平台添加 android@10.0.0 但在最终导出中屏幕是黑色的,这发生在所有来源。问题是什么?我所有的同事都有这个问题,可能是cordova的问题。我需要一个目标为 30 的输出