问题标签 [android-7.0-nougat]

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 投票
1 回答
542 浏览

android - Android N,L 及以下时间选择器,间隔分钟

我从这个答案中使用了Timepicker一分钟的间隔。我在 Andorid N preview 5 模拟器上运行了它,显然它已被删除。THEME_HOLO_LIGHT Timepicker

我怎样才能有Timepicker分钟的间隔?在我看来,它不太可能重新出现在 Android N 的最终版本中。

0 投票
2 回答
13177 浏览

android - Android Nougat 中的文件系统更改

自从第一次发布 Android N 开发者预览版以来,我在尝试列出根目录或其他系统目录时收到“权限被拒绝”错误。这些目录的权限似乎没有改变(据我所知)。

问题:

Android N 中的哪些更改导致了这些权限被拒绝错误?


如何复制:

在 ADB shell 中,运行以下命令:

这会在 Android N 上出现权限被拒绝错误。


为什么要列出系统目录:

我在带有多个文件管理器的 Android N 上注意到了这种行为。他们无法再列出根目录或其他系统文件。这也限制了ps在 shell 中运行的输出。这些更改还导致该停止在 Android N 上运行。

0 投票
5 回答
856 浏览

android - Android N 权限问题

我的测试设备上有 Android N Developer 预览版,我在应用启动期间请求运行时权限。

但不幸的是,该应用程序没有显示警报对话框来授予权限。我正在使用以下代码:

启动器活动

构建.gradle

编辑:解决方案(1/2)

通过将构建工具版本更改为24.0.1我收到READ_PHONE_STATE权限警报但不是权限组警报STORAGE。我们是否需要为权限组的每个权限单独询问?

编辑2:解决方案(2/2)

我设法通过替换来解决Manifest.permission_group.STORAGEManifest.permission.WRITE_EXTERNAL_STORAGE。根据文档,您只需要确认整个组的一项危险权限。

用户只需为每个权限组授予一次权限。如果您的应用请求该组中的任何其他权限(在您的应用清单中列出),系统会自动授予它们。

0 投票
1 回答
4820 浏览

android - Android N java.security.cert.CertPathValidatorException:找不到证书路径的信任锚

在我的应用程序中,我使用自签名证书通过 https 进行连接。当 compilesdk 设置为 < 24 时,应用程序运行良好,但是当 compilesdk 设置为 24 时,我的应用程序无法通过 https 连接到服务器并引发以下异常:

我按照这里提到的步骤https://developer.android.com/preview/features/security-config.html,但是我的应用程序仍然无法通过 https 连接到服务器。我的 network_security_config.xml 如下:

在我的 AndroidManifest.xml 中,应用程序标记下包含以下内容

ca_norton.crt 也被复制到原始文件夹中。我在这里错过了什么吗?提前致谢。

0 投票
1 回答
534 浏览

android - 范围目录访问 API 引发 NullPointerException

我目前正在尝试将 Android N 支持添加到我的应用程序中。我正在使用新的Scoped Directory Access API来读取我的应用在外部存储上的存储目录,如下所示:

但是,我得到了NullPointerException一个startActivityForResult

我究竟做错了什么?

用户必须在文件管理器中轻松访问这些文件,因此getExternalFilesDir()不是一个选项。

0 投票
2 回答
9112 浏览

android - 仅在 Android Nougat 上无法从可绘制资源 ID 中找到 ColorStateList

我在我的 Crashlytics 中发现了这个错误,而且似乎只有使用 Android Nougat 预览版的用户才会崩溃。

应用程序在启动时崩溃(主活动)。

堆栈跟踪

看起来 Android Nougat 不再支持我在我的应用程序中使用的某种系统颜色?但我不知道如何解决它。

编辑

所以我在我的R文件中找到了 ID 为 0x7f020057 的资源,就是这样:

公共静态最终 int background_splash_gradient=0x7f020057;

我检查了我在哪里使用它,这里是:

这是background_splash_gradiend xml 文件:

我仍然不知道为什么这会导致 Nougat 出现问题。我尝试删除“StartingWindowTheme”样式并且应用程序现在可以工作,它不再崩溃。但我需要一个比这更好的解决方案。

编辑 2

所以我试图删除这一行:

它有效。似乎android:colorBackground是问题所在。

临时修复

由于问题出在上面提到的那一行,所以只在 Nougat 上,我创建了一个values-v24文件夹并删除了那里的那一行。应用程序现在可以在 Nougat 上运行,但我希望有更好的解决方案。

0 投票
0 回答
233 浏览

android - 如何在 Android N 上的多窗口模式下检查软件键盘的可见性

AFAIK,Android 不提供任何 API 来检查软件键盘的可见性。最推荐/使用的检查软件键盘可见性的方法是如何检查 Android 中软件键盘的可见性?,也就是说,通过测量应用程序窗口的大小/高度,如果它大大小于设备大小,则意味着 s/w 键盘已启动。这在 Android 版本 <= M 上运行良好,应用程序占据全屏。但是从Android N开始,应用程序可以处于多窗口模式,这种检查s/w键盘可见性的方法将不起作用。

在多窗口模式下检查软件键盘可见性的任何万无一失的方法?

0 投票
1 回答
219 浏览

android - Android SDK 版本 24 在后退按钮和其他工具栏元素之间添加了额外的填充

在头像和后退按钮之间使用 Android SDK 23 填充是可以的。

在此处输入图像描述

但是在将 SDK 增加到 24 后,填充增加了。我不确定这个新的默认填充,或者我只需要为新的 SDK 调整我的代码。

在此处输入图像描述

同样的问题也适用于其他工具栏元素。

在此处输入图像描述

我的工具栏布局

部分工具栏.xml

0 投票
3 回答
2853 浏览

broadcastreceiver - Android 7 BroadcastReceiver onReceive intent.getExtras 缺少数据

我的应用无法在 Android 7 上运行。调用了我的 BroadcastReceiver.onReceive 方法,但缺少 intent.getExtras 的内容。我已验证数据已正确加载。这是我的 onReceive 方法的一个片段,其中意图作为参数传递给 onReceive。

textMessage 和 phoneNumbersToText 都为空。

这是我的清单文件中的一个片段:

这是加载数据的片段:

相同的代码在 Android 6 中运行良好。

对 Android 7 需要进行哪些更改有任何想法吗?

谢谢

0 投票
0 回答
39 浏览

android - Android styles.xml v14 不适用于Android N?

我在 Android N 的 beta-build 上遇到了严重问题。我在 values-v14 文件夹中有 styles.xml,由于某些原因,它们不适用于 Android N。但是 v22 和 v23 都可以。在 android v14 之后我没有更多的样式,所以没有什么应该影响它。也许有人有同样的问题?修复起来很简单,但我不明白它的原因。